public static void UsePermission(string permission)
 {
     if (RuntimePermissionHelper.HasPermission(permission))
     {
         RuntimePermissionHelper.RequestPermission(new string[] { permission });
     }
 }
Exemple #2
0
    public void Bluetooth()
    {
#if UNITY_ANDROID && !UNITY_EDITOR
        LocationService l = new LocationService();
        if (!l.isEnabledByUser)
        {
            if (RuntimePermissionHelper.HasPermission(permission))
            {
                //Debug.Log("permission 位置情報サービスはオフでパーミッションがある");

                Debug.Log("CallIntent");
                // 位置情報サービスをオンにするのを促す
                RuntimePermissionHelper.CallIntent();
            }
            else
            {
                //Debug.Log("permission 位置情報サービスは謎だがとりあえずパーミッションがない");

                Debug.Log("OpenPermission");
                // パーミッションをONにするのを促す
                RuntimePermissionHelper.RequestPermission(new string[] { permission });
            }
        }
        else
        {
            //Debug.Log("permission 位置情報サービスがオンでパーミッションも許諾済み");
            //            SetMode(eMode.AutoConnect);
            BLEConnect();
        }
#else
        BLEConnect();
#endif
    }
 void Start()
 {
     if (!RuntimePermissionHelper.HasPermission(permission))
     {
         // パーミッションをリクエスト
         RuntimePermissionHelper.RequestPermission(new string[] { permission });
         permissionRequested = true;
     }
 }
Exemple #4
0
    public static string getAndroidIMEI()
    {
#if UNITY_ANDROID
        RuntimePermissionHelper.UsePermission("android.permission.READ_PHONE_STATE");
        AndroidJavaObject TM = new AndroidJavaObject("android.telephony.TelephonyManager");
        return(TM.Call <string>("getDeviceId"));
#else
        return("");
#endif
    }
    internal override void Start()
    {
        base.Start();

        mClickHelper      = new TouchPadClickHelper(mLogger);
        mPermissionHelper = new RuntimePermissionHelper(mLogger);
        mExternalStorageAccessStatusText = GameObject.Find("ExternalStorageAccessStatusText").GetComponent <UnityEngine.UI.Text>();
        mRequestPerissionButton          = GameObject.Find("RequestPerissionButton").GetComponent <UnityEngine.UI.Button>();
        ShowExternalStoragePermissionStatus();
    }
 // パーミッションダイアログから戻ってきたときなどに呼ばれる
 void OnApplicationPause(bool pauseStatus)
 {
     // ポーズからの復帰時かつパーミッションリクエストの直後の場合
     if (!pauseStatus && permissionRequested)
     {
         // パーミッションを持っているかどうか
         if (RuntimePermissionHelper.HasPermission(permission))
         {
             Debug.Log("パーミッションリクエスト成功!");
             permissionRequested = false;
         }
     }
 }
 void Start()
 {
     if (!RuntimePermissionHelper.HasPermission(permission))
     {
         if (RuntimePermissionHelper.ShouldShowRequestPermissionRationale(permission))
         {
             // パーミッションを要求する意味を説明するUIを表示
         }
         else
         {
             // パーミッションをリクエスト
             RuntimePermissionHelper.RequestPermission(new string[] { permission, StoragePermission });
             permissionRequested = true;
         }
     }
 }
Exemple #8
0
    internal override void Start()
    {
        base.Start();

        mLogger.CategoryLog(LogCategoryMethodIn);
        SetScreenOrientation(ScreenOrientation.Landscape);
        SetScreenTimeout(BaseAndroidMainController.NeverSleep);

        RuntimePermissionHelper helper = new RuntimePermissionHelper(mLogger);

        helper.RequestPermission(RuntimePermissionHelper.CAMERA, delegate(GvrPermissionsRequester.PermissionStatus[] permissionStatusArray)
        {
            mLogger.CategoryLog(LogCategoryMethodIn);

            bool granted = true;

            foreach (GvrPermissionsRequester.PermissionStatus permissionStatus in permissionStatusArray)
            {
                if (!permissionStatus.Granted)
                {
                    granted = permissionStatus.Granted;
                    break;
                }
            }

            if (granted)
            {
                ShowCameraPreview();
            }
            else
            {
                Back();
            }

            mLogger.CategoryLog(LogCategoryMethodOut);
        });

        mLogger.CategoryLog(LogCategoryMethodOut);
    }
Exemple #9
0
    internal override void Update()
    {
        base.Update();

        switch (mReserveControl)
        {
        case ReserveControl.Pause:
            if (mVideoTexture.Pause())
            {
                mReserveControl = ReserveControl.None;
            }
            break;

        case ReserveControl.Play:
            if (mVideoTexture.Play())
            {
                mReserveControl = ReserveControl.None;
            }
            break;
        }

        if (mClickHelper.ClickStatus == ClickStatus.Up)
        {
            GameObject clickedGO = mClickHelper.ClickedGameObject;
            if (clickedGO != null && clickedGO.name.CompareTo("VideoPlayer") == 0)
            {
                GvrVideoPlayerTexture videoTexture = clickedGO.GetComponent <GvrVideoPlayerTexture>();
                if (videoTexture.IsPaused)
                {
                    if (!string.IsNullOrEmpty(videoTexture.videoURL))
                    {
                        if (videoTexture.videoURL.StartsWith("http"))
                        {
                            // そのまま再生を試みる
                            if (!videoTexture.Play())
                            {
                                mReserveControl = ReserveControl.Play;
                                mLogger.CategoryLog(LogCategoryMethodTrace, "Play video is failed, Reserved");
                            }
                            else
                            {
                                mReserveControl = ReserveControl.None;
                                mLogger.CategoryLog(LogCategoryMethodTrace, "Play video");
                            }
                        }
                        else
                        {
                            // ローカルファイルのため、external storageへのアクセス権限を確認
                            RuntimePermissionHelper helper = new RuntimePermissionHelper(mLogger);
                            helper.RequestPermission(RuntimePermissionHelper.READ_EXTERNAL_STORAGE, delegate(GvrPermissionsRequester.PermissionStatus[] permissionStatusArray)
                            {
                                bool needFinish = true;

                                if (permissionStatusArray != null && permissionStatusArray.Length > 0)
                                {
                                    if (permissionStatusArray[0].Name.CompareTo(RuntimePermissionHelper.READ_EXTERNAL_STORAGE.Name) == 0 && permissionStatusArray[0].Granted)
                                    {
                                        needFinish = false;
                                        if (!videoTexture.Play())
                                        {
                                            mReserveControl = ReserveControl.Play;
                                            mLogger.CategoryLog(LogCategoryMethodTrace, "Play video is failed, Reserved");
                                        }
                                        else
                                        {
                                            mReserveControl = ReserveControl.None;
                                            mLogger.CategoryLog(LogCategoryMethodTrace, "Play video");
                                        }
                                    }
                                }

                                if (needFinish)
                                {
                                    PopCurrentScene();
                                }
                            });
                        }
                    }
                }
                else
                {
                    if (!videoTexture.Pause())
                    {
                        mReserveControl = ReserveControl.Pause;
                        mLogger.CategoryLog(LogCategoryMethodTrace, "Pause video is failed, Reserved");
                    }
                    else
                    {
                        mReserveControl = ReserveControl.None;
                        mLogger.CategoryLog(LogCategoryMethodTrace, "Pause video");
                    }
                }
            }
        }
        else if (mClickHelper.AppButtonStatus == ButtonPushStatus.Up)
        {
            PopCurrentScene();
        }
    }