public static StartTangoPermissionsActivity ( string permissionsType ) : void | ||
permissionsType | string | String for the permission to request. |
return | void |
/// <summary> /// Request next permission. /// </summary> private void _RequestNextPermission() { Debug.Log("TangoApplication._RequestNextPermission()"); // if no permissions are needed let's kick-off the Tango connect if (m_requiredPermissions == PermissionsTypes.NONE) { _SendPermissionEvent(true); } if ((m_requiredPermissions & PermissionsTypes.MOTION_TRACKING) == PermissionsTypes.MOTION_TRACKING) { if (AndroidHelper.ApplicationHasTangoPermissions(Common.TANGO_MOTION_TRACKING_PERMISSIONS)) { _androidOnActivityResult(Common.TANGO_MOTION_TRACKING_PERMISSIONS_REQUEST_CODE, -1, null); } else { AndroidHelper.StartTangoPermissionsActivity(Common.TANGO_MOTION_TRACKING_PERMISSIONS); } } else if ((m_requiredPermissions & PermissionsTypes.AREA_LEARNING) == PermissionsTypes.AREA_LEARNING) { if (AndroidHelper.ApplicationHasTangoPermissions(Common.TANGO_ADF_LOAD_SAVE_PERMISSIONS)) { _androidOnActivityResult(Common.TANGO_ADF_LOAD_SAVE_PERMISSIONS_REQUEST_CODE, -1, null); } else { AndroidHelper.StartTangoPermissionsActivity(Common.TANGO_ADF_LOAD_SAVE_PERMISSIONS); } } }
/// <summary> /// Request permissions for Unity functionality. /// </summary> /// <returns><c>true</c>, if request permissions was _ed, <c>false</c> otherwise.</returns> /// <param name="permissionType">Permission type.</param> private IEnumerator _RequestPermissions(string permissionType) { //#if !UNITY_EDITOR && UNITY_ANDROID // verify string syncFile = "data/data/" + AndroidHelper.GetCurrentPackageName() + "/files/activity_result"; string result = string.Empty; yield return(StartCoroutine(_Delete(syncFile))); Debug.Log("Launching permission requester for : " + permissionType); // request AndroidHelper.StartTangoPermissionsActivity(permissionType); while (!File.Exists(syncFile)) { // sit and spin while waiting for the permissions intent to // steal focus from Unity. Once the intent returns this text // file will exist. yield return(null); } try { StreamReader streamReader = new StreamReader(syncFile); result = streamReader.ReadLine(); streamReader.Close(); } catch (System.IO.FileNotFoundException e) { Debug.Log(CLASS_NAME + "._RequestPermissions : File Not Found: " + e.Message); } if (string.IsNullOrEmpty(result) == false) { if (result != "RESULT_OK") { m_anyPermissionDenied = true; } } yield return(StartCoroutine(_Delete(syncFile))); //#endif yield return(null); }
/// <summary> /// Request permissions for Unity functionality. /// </summary> /// <returns><c>true</c>, if request permissions was _ed, <c>false</c> otherwise.</returns> /// <param name="permissionType">Permission type.</param> private bool _RequestPermissions(string permissionType) { #if !UNITY_EDITOR && UNITY_ANDROID // verify string syncFile = "data/data/" + AndroidHelper.GetCurrentPackageName() + "/files/activity_result"; string result = string.Empty; _BlockingDelete(syncFile); // request AndroidHelper.StartTangoPermissionsActivity(permissionType); while (!File.Exists(syncFile)) { // sit and spin while waiting for the permissions intent to // steal focus from Unity. Once the intent returns this text // file will exist. } try { StreamReader streamReader = new StreamReader(syncFile); result = streamReader.ReadLine(); streamReader.Close(); } catch (System.IO.FileNotFoundException e) { Debug.Log(CLASS_NAME + "._RequestPermissions : File Not Found: " + e.Message); } if (string.IsNullOrEmpty(result) == false) { return(result == "RESULT_OK"); } _BlockingDelete(syncFile); #endif return(false); }
public void StartTangoPermissionsActivity(string permissionType) { AndroidHelper.StartTangoPermissionsActivity(permissionType); }