public static void UsePermission(string permission) { if (RuntimePermissionHelper.HasPermission(permission)) { RuntimePermissionHelper.RequestPermission(new string[] { permission }); } }
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; } }
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; } } }
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); }
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(); } }