示例#1
0
    void Start()
    {
        if (AndroidRuntimePermissions.CheckPermission("android.permission.RECORD_AUDIO") != AndroidRuntimePermissions.Permission.Granted)
        {
            AndroidRuntimePermissions.RequestPermission("android.permission.RECORD_AUDIO");
        }
        if (AndroidRuntimePermissions.CheckPermission("android.permission.WRITE_EXTERNAL_STORAGE") != AndroidRuntimePermissions.Permission.Granted)
        {
            AndroidRuntimePermissions.RequestPermission("android.permission.WRITE_EXTERNAL_STORAGE");
        }
        if (GameObject.FindGameObjectsWithTag("SceneThemeAudio").Length > 0)
        {
            sceneTheme = GameObject.FindGameObjectsWithTag("SceneThemeAudio")[0];
        }

        Bihou = GameObject.FindGameObjectWithTag("Bihou");

        dispatcher = Dispatcher.GetInstance();
        // for accessing audio
        utilsPlugin = UtilsPlugin.GetInstance();
        utilsPlugin.SetDebug(0);

        speechPlugin = SpeechPlugin.GetInstance();
        speechPlugin.SetDebug(0);
        speechPlugin.Init();

        // set the calling package this is optional
        // you can use this if your app is for children or kids
        speechPlugin.SetCallingPackage("com.mycoolcompany.mygame");

        AddSpeechPluginListener();
    }
示例#2
0
    // Update is called once per frame
    void Update()
    {
        if (isDialogPermission)
        {
            isDialogPermission = false;

            Debug.Log("KAUEL: Vamos a la siguiente escena");
            LoadA("Scene01");
        }

        if (!isStartPermissions)
        {
            isStartPermissions = true;
            AndroidRuntimePermissions.Permission[] result = AndroidRuntimePermissions.RequestPermissions("android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA");
            if (result[0] == AndroidRuntimePermissions.Permission.Granted && result[1] == AndroidRuntimePermissions.Permission.Granted)
            {
                isDialogPermission = true;
                Debug.Log("KAUEL: permission(s) are granted by dialog");
                CargarEscena("Scene01");
            }
            else
            {
                Debug.Log("KAUEL: Some permission(s) are not granted, reaload same scene");
                LoadA("ScenePreload");
            }
        }
    }
示例#3
0
 //il faut mettre la demande de permission du GPS dans le Awake pour y avoir acces ensuite dans la scene, sinon il faudrait
 //redemarrer l application
 void Awake()
 {
     if (AndroidRuntimePermissions.CheckPermission("android.permission.ACCESS_FINE_LOCATION") != AndroidRuntimePermissions.Permission.Granted)
     {
         AndroidRuntimePermissions.RequestPermission("android.permission.ACCESS_FINE_LOCATION");
     }
 }
    /**
     * <summary>Unity callback that is invoked when the script is enabled (is only executed one time).</summary>
     * <see>https://docs.unity3d.com/ScriptReference/MonoBehaviour.Start.html</see>
     */
    void Start()
    {
        // Request permission to use location/Bluetooth communication.
        #if PLATFORM_ANDROID
        if (!Permission.HasUserAuthorizedPermission(Permission.Microphone))
        {
            AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission(Permission.CoarseLocation);
            if (result == AndroidRuntimePermissions.Permission.Granted)
            {
                // Ensures that the application only quits if permission was not granted.
                permissionGranted = true;
            }
        }
        #endif

        // Initialise interface text fields.
        Init();

        // Define events.
        AddObservables();

        // Link the callbacks to the DeviceController object.
        DeviceController.OnDataEvent += OnNewDataEvent;
        DeviceController.OnDeviceConnectionChange += OnDeviceConnection;
        DeviceController.OnNewDeviceFound         += OnNewDeviceFound;
    }
示例#5
0
    private string GetAuthorClicked(String strpermission)
    {
        string strResult = "";

        try
        {
            AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission(strpermission);
            switch (result)
            {
            case AndroidRuntimePermissions.Permission.Denied: //永久拒绝询问
                strResult = ("权限被拒绝且不再询问");
                AndroidRuntimePermissions.OpenSettings();     // 打开本程序的设置界面
                break;

            case AndroidRuntimePermissions.Permission.Granted:    //允许
                strResult = ("权限已开启");
                break;

            case AndroidRuntimePermissions.Permission.ShouldAsk:    //拒绝权限但不拒绝询问
                strResult = ("权限被拒绝");
                break;
            }
        }
        catch (Exception eee)
        {
            strResult = eee.Message;
        }
        return(strResult);
    }
    public void RequestPermissions()
    {
        AndroidRuntimePermissions.Permission[] results = new AndroidRuntimePermissions.Permission[permissions.Length];

        for (int i = 0; i < permissions.Length; i++)
        {
            DebugLog($"Requesting access to {permissions[i]}");
            results[i] = AndroidRuntimePermissions.RequestPermission(permissions[i]);
        }

        ArrayList deniedPermission = new ArrayList();

        for (int i = 0; i < results.Length; i++)
        {
            if (results[i] != AndroidRuntimePermissions.Permission.Granted)
            {
                deniedPermission.Add(permissions[i]);
            }
        }

        if (deniedPermission.Count > 0)
        {
            ShowPermissionsNeededPanel();
        }
        else
        {
            SwitchScene();
            Log.debug("Permissions Granted");
        }
    }
    // Use this for initialization
    void Start()
    {
        if (AndroidRuntimePermissions.CheckPermission("android.permission.RECORD_AUDIO") != AndroidRuntimePermissions.Permission.Granted)
        {
            AndroidRuntimePermissions.RequestPermission("android.permission.RECORD_AUDIO");
        }
        if (AndroidRuntimePermissions.CheckPermission("android.permission.ACCESS_FINE_LOCATION") != AndroidRuntimePermissions.Permission.Granted)
        {
            AndroidRuntimePermissions.RequestPermission("android.permission.ACCESS_FINE_LOCATION");
        }
        dispatcher = Dispatcher.GetInstance();
        // for accessing audio
        utilsPlugin = UtilsPlugin.GetInstance();
        utilsPlugin.SetDebug(0);

        speechPlugin = SpeechPlugin.GetInstance();
        speechPlugin.SetDebug(0);
        speechPlugin.Init();

        // set the calling package this is optional
        // you can use this if your app is for children or kids
        speechPlugin.SetCallingPackage("com.mycoolcompany.mygame");

        AddSpeechPluginListener();
    }
示例#8
0
    public override void Awake()
    {
        base.Awake();

        //Find and fetch a reference to the Main Camera in the scene
        _mainCamera = GameObject.FindGameObjectWithTag("MainCamera");
        //Check if we found a reference
        if (_mainCamera != null)
        {
            //Disable the Main Camera, we are using the MAXST AR Camera instead
            _mainCamera.SetActive(false);
        }

        AndroidRuntimePermissions.Permission[] result = AndroidRuntimePermissions.RequestPermissions("android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA");
        if (result[0] == AndroidRuntimePermissions.Permission.Granted && result[1] == AndroidRuntimePermissions.Permission.Granted)
        {
            Debug.Log("We have all the permissions!");
        }
        else
        {
            Debug.Log("Some permission(s) are not granted...");
        }

        cameraBackgroundBehaviour = FindObjectOfType <CameraBackgroundBehaviour>();
        if (cameraBackgroundBehaviour == null)
        {
            Debug.LogError("Can't find CameraBackgroundBehaviour.");
            return;
        }
    }
示例#9
0
 private AndroidRuntimePermissions.Permission[] requestPermissions()
 {
     return(AndroidRuntimePermissions.RequestPermissions(new string[] {
         ANDROID_PERMISSION_PREFIX + AndroidPermission.ACCESS_FINE_LOCATION,
         ANDROID_PERMISSION_PREFIX + AndroidPermission.CAMERA
     }));
 }
示例#10
0
 private void ExecuteCallback()
 {
     if (callback != null)
     {
         callback(permissions, AndroidRuntimePermissions.ProcessPermissionRequest(permissions, result));
         callback = null;
     }
 }
示例#11
0
 void Awake()
 {
     // need to ask for GPS permision in Awake to have access to it later in the scene, otherwise need to reload the app
     if (AndroidRuntimePermissions.CheckPermission("android.permission.ACCESS_FINE_LOCATION") != AndroidRuntimePermissions.Permission.Granted)
     {
         AndroidRuntimePermissions.RequestPermission("android.permission.ACCESS_FINE_LOCATION");
     }
 }
示例#12
0
    void Update()
    {
#if UNITY_ANDROID && !UNITY_EDITOR
        if (!isPermission)
        {
            //AndroidRuntimePermissions.Permission externalStorage = AndroidRuntimePermissions.RequestPermission("android.permission.WRITE_EXTERNAL_STORAGE");
            //AndroidRuntimePermissions.Permission camera = AndroidRuntimePermissions.RequestPermission("android.permission.CAMERA");
            //if (camera == AndroidRuntimePermissions.Permission.Granted && camera == AndroidRuntimePermissions.Permission.Granted)
            //    Debug.Log("We have permission to access external storage!");

            //Requesting WRITE_EXTERNAL_STORAGE and CAMERA permissions simultaneously
            AndroidRuntimePermissions.Permission[] result = AndroidRuntimePermissions.RequestPermissions("android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA");
            if (result[0] == AndroidRuntimePermissions.Permission.Granted && result[1] == AndroidRuntimePermissions.Permission.Granted)
            {
                isPermission = true;
                Debug.Log("KAUEL: permission(s) are granted");
            }
            else
            {
                Debug.Log("KAUEL: Some permission(s) are not granted...");
            }


            if (!Permission.HasUserAuthorizedPermission(Permission.Camera))
            {
                Permission.RequestUserPermission(Permission.Camera);
                Debug.Log("KAUEL: Request Permission");
                Scene scene = SceneManager.GetActiveScene(); SceneManager.LoadScene(scene.name);
            }
            else
            {
                Debug.Log("KAUEL: Permission granted");
            }

            isPermission2 = true;
        }
#endif
#if PLATFORM_ANDROID
        if (!isPermission2)
        {
            if (!Permission.HasUserAuthorizedPermission(Permission.Camera))
            {
                Permission.RequestUserPermission(Permission.Camera);
                Debug.Log("KAUEL: Request Permission");
                Scene scene = SceneManager.GetActiveScene(); SceneManager.LoadScene(scene.name);
            }
            else
            {
                Debug.Log("KAUEL: Permission granted");
            }

            isPermission2 = true;
        }
#endif
    }
示例#13
0
    //public void AddRecord(string bssid, string room, string lat, string lon)
    //{
    //    //ask for external write permission
    //    AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission("android.permission.WRITE_EXTERNAL_STORAGE");

    //    //check if granted
    //    if (result == AndroidRuntimePermissions.Permission.Granted)
    //    {
    //        try
    //        {
    //            using (StreamWriter file = new StreamWriter(Path, true))
    //            {
    //                file.WriteLine(bssid + ", " + room + ", " + lat + ", " + lon);
    //            }
    //        }
    //        catch (Exception ex)
    //        {
    //            throw new ApplicationException("This program did an oopsie :", ex);
    //        }
    //    }
    //}

    public void Auto()
    {
        AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission("android.permission.ACCESS_FINE_LOCATION");
        if (result == AndroidRuntimePermissions.Permission.Granted)
        {
            StartCoroutine(StartProcess());
        }
        else
        {
            Debug.Log("Permission state: " + result);
        }
    }
    public void OpenSettings()
    {
        #if UNITY_IOS && !UNITY_EDITOR
        NativeSettings.GetSettingsURL_Native();
        #endif

        #if UNITY_ANDROID && !UNITY_EDITOR
        AndroidRuntimePermissions.OpenSettings();
        #endif

        HideWarningPanel();
    }
 // Start is called before the first frame update
 void Start()
 {
     AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission("android.permission.ACCESS_FINE_LOCATION");
     if (result == AndroidRuntimePermissions.Permission.Granted)
     {
         Debug.Log("We have permission to access external storage!");
     }
     else
     {
         Debug.Log("Permission state: " + result);
     }
 }
 private void ExecuteCallback(string result)
 {
     try
     {
         if (callback != null)
         {
             callback(permissions, AndroidRuntimePermissions.ProcessPermissionRequest(permissions, result));
         }
     }
     finally
     {
         Object.Destroy(callbackHelper.gameObject);
     }
 }
示例#17
0
 public void OnClick()
 {
     if (Permission.HasUserAuthorizedPermission(Permission.Camera))
     {
         SceneManager.LoadScene("PhotoScene");
     }
     else
     {
         AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission("android.permission.CAMERA");
         if (result == AndroidRuntimePermissions.Permission.Granted)
         {
             SceneManager.LoadScene("PhotoScene");
         }
     }
 }
示例#18
0
    private void Start()
    {
        _source      = GetComponent <AudioSource>();
        _source.loop = true;
        _source.outputAudioMixerGroup = micMixer;
        AndroidRuntimePermissions.Permission permission;

        do
        {
            permission = AndroidRuntimePermissions.CheckPermission("android.permission.RECORD_AUDIO");

            if (permission != AndroidRuntimePermissions.Permission.Granted)
            {
                permission = AndroidRuntimePermissions.RequestPermission("android.permission.RECORD_AUDIO");
            }
        } while (permission != AndroidRuntimePermissions.Permission.Granted);
    }
示例#19
0
    // Use this for initialization
    void Start()
    {
        isloading = true;
        Debug.Log(filePath);

        AndroidRuntimePermissions.Permission[] result = AndroidRuntimePermissions.RequestPermissions(WRITE_EXTERNAL_STORAGE, CAMERA, ACCESS_FINE_LOCATION);

        for (int i = 0; i < result.Length; i++)
        {
            if (result[i] == AndroidRuntimePermissions.Permission.Granted)
            {
                Debug.Log("We have all the permissions!");
            }
            else
            {
                Debug.Log("Some permission are not granted...");
            }
        }
    }
    public void Start()
    {
        AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission("android.permission.ACCESS_FINE_LOCATION");
        if (result == AndroidRuntimePermissions.Permission.Granted)
        {
            Debug.Log("We have permission to access GPS and Camera");
        }
        else
        {
            Debug.Log("Permission state: " + result);
        }

        // Requesting WRITE_EXTERNAL_STORAGE and CAMERA permissions simultaneously
        //AndroidRuntimePermissions.Permission[] result = AndroidRuntimePermissions.RequestPermissions( "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA" );
        //if( result[0] == AndroidRuntimePermissions.Permission.Granted && result[1] == AndroidRuntimePermissions.Permission.Granted )
        //	Debug.Log( "We have all the permissions!" );
        //else
        //	Debug.Log( "Some permission(s) are not granted..." );
    }
    private void CheckPermissions()
    {
        var lat = Input.location.lastData.latitude;

        AndroidRuntimePermissions.Permission[] checkedPermissions = AndroidRuntimePermissions.CheckPermissions(permissions);
        bool granted = true;

        for (int i = 0; i < checkedPermissions.Length; i++)
        {
            if (checkedPermissions[i] != AndroidRuntimePermissions.Permission.Granted)
            {
                granted = false;
                break;
            }
        }
        if (granted)
        {
            SwitchScene();
        }
    }
    //请求麦克风的权限
    public void RequestPermission()
    {
#if UNITY_ANDROID && !UNITY_EDITOR
        AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission("android.permission.RECORD_AUDIO");
        if (result == AndroidRuntimePermissions.Permission.Granted)
        {
            resultText.text = "请求--麦克风权限被--允许";
        }
        else if (result == AndroidRuntimePermissions.Permission.ShouldAsk)
        {
            resultText.text = "请求--麦克风权限被--未同意可询问";
        }
        else if (result == AndroidRuntimePermissions.Permission.Denied)
        {
            resultText.text = "请求--麦克风权限被--被拒绝到设置里开启";
        }
#elif UNITY_IOS && !UNITY_EDITOR
#else
#endif
    }
示例#23
0
    public void VerifyPermission()
    {
                #if UNITY_EDITOR
        SceneLoader.instance.LoadARScene();
                #endif
#if UNITY_IOS && !UNITY_EDITOR
        iOSCameraPermission.VerifyPermission(gameObject.name, "SampleCallback");
#endif

#if UNITY_ANDROID && !UNITY_EDITOR
        AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.CheckPermission("android.permission.CAMERA");

        switch (result)
        {
        case AndroidRuntimePermissions.Permission.Denied:
            _supportCanvasController.ShowWarningPanel();
            break;

        case AndroidRuntimePermissions.Permission.Granted:
            SceneLoader.instance.LoadARScene();
            break;

        case AndroidRuntimePermissions.Permission.ShouldAsk:
        {
            result = AndroidRuntimePermissions.RequestPermission("android.permission.CAMERA");

            if (result == AndroidRuntimePermissions.Permission.Granted)
            {
                SceneLoader.instance.LoadARScene();
            }
            else
            {
                _supportCanvasController.ShowWarningPanel();
            }

            break;
        }
        }
//       SaveManager.instance.SavePermissionRequest();
#endif
    }
    void Awake()
    {
        Init();

        AndroidRuntimePermissions.Permission[] result = AndroidRuntimePermissions.RequestPermissions("android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA");
        if (result[0] == AndroidRuntimePermissions.Permission.Granted && result[1] == AndroidRuntimePermissions.Permission.Granted)
        {
            Debug.Log("We have all the permissions!");
        }
        else
        {
            Debug.Log("Some permission(s) are not granted...");
        }

        cameraBackgroundBehaviour = FindObjectOfType <CameraBackgroundBehaviour>();
        if (cameraBackgroundBehaviour == null)
        {
            Debug.LogError("Can't find CameraBackgroundBehaviour.");
            return;
        }
    }
示例#25
0
    /// <summary>
    /// Capures the picture from the camera and analyzes it
    /// </summary>
    public void CapturePicture()
    {
        Result result = _barcodeReader.Decode(_cam.GetPixels32(), _cam.width, _cam.height);

        if (result != null)
        {
            AndroidRuntimePermissions.Permission permission = AndroidRuntimePermissions.RequestPermission("android.permission.INTERNET");
            if (permission == AndroidRuntimePermissions.Permission.Granted)
            {
                FirebaseManager.Instance.SetDatabaseReference(result.Text);
            }
            else
            {
                ToastManager.Instance.ShowToast("No Internet permission");
            }
        }
        else
        {
            ToastManager.Instance.ShowToast("No QR code found");
        }
    }
示例#26
0
    public void ClickLocation()
    {
        CurrentPage = 1;
        FirstPanel.SetActive(false);
        SecondPanel.SetActive(false);
        ThirdPanel.SetActive(false);
        FourthPanel.SetActive(false);
        FifthPanel.SetActive(false);
        OutputText.SetActive(false);
        Loading.SetActive(false);

        PreviousButton.SetActive(false);
        NextButton.SetActive(false);

        LocationClicked = true;
        SearchClicked   = false;
        FirstPage       = true;
        LastPage        = false;
        OnlyPage        = false;

        try
        {
            //Ask for Permission
            AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission("android.permission.ACCESS_FINE_LOCATION");

            //If granted
            if (result == AndroidRuntimePermissions.Permission.Granted)
            {
                //Grab lat and long
                StartCoroutine(GetLocation());
            }
        }
        catch (Exception)
        {
            Loading.SetActive(false);
            OutputText.SetActive(true);
            PageTextObj.SetActive(false);
            OutputTextResult.text = "Failed to determine location";
        }
    }
示例#27
0
    private void Start()
    {
        Screen.orientation = ScreenOrientation.Portrait;
        _rawImage          = GetComponent <RawImage>();
        _barcodeReader     = new BarcodeReader();

        WebCamDevice[] devices = WebCamTexture.devices;

        if (devices.Length > 0)
        {
            int i = 0;

            while (i < devices.Length && devices[i].isFrontFacing)
            {
                i++;
            }

            if (i == devices.Length)
            {
                ToastManager.Instance.ShowToast("No camera found");
            }
            else
            {
                AndroidRuntimePermissions.Permission permission = AndroidRuntimePermissions.RequestPermission("android.permission.CAMERA");

                if (permission == AndroidRuntimePermissions.Permission.Granted)
                {
                    _cam = new WebCamTexture(devices[i].name);
                    _cam.Play();
                    _rawImage.texture = _cam;
                    StartCoroutine(Loader());
                }
                else
                {
                    ToastManager.Instance.ShowToast("No camera permission");
                }
            }
        }
    }
示例#28
0
    public void shareImage()
    {
        AndroidRuntimePermissions.Permission result = AndroidRuntimePermissions.RequestPermission("android.permission.WRITE_EXTERNAL_STORAGE");
        if (result == AndroidRuntimePermissions.Permission.Granted)
        {
            Debug.Log("We have permission to access external storage!");
        }
        else
        {
            Debug.Log("Permission state: " + result);
        }

        // Requesting WRITE_EXTERNAL_STORAGE and CAMERA permissions simultaneously
        //AndroidRuntimePermissions.Permission[] result = AndroidRuntimePermissions.RequestPermissions( "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.CAMERA" );
        //if( result[0] == AndroidRuntimePermissions.Permission.Granted && result[1] == AndroidRuntimePermissions.Permission.Granted )
        //	Debug.Log( "We have all the permissions!" );
        //else
        //	Debug.Log( "Some permission(s) are not granted..." );
        if (!isProcessing)
        {
            StartCoroutine(ShareScreenshot());
        }
    }
 public void goToSearchState()
 {
             #if UNITY_IOS && !UNITY_EDITOR
     iOSCameraPermission.VerifyPermission(gameObject.name, "CameraPermissionCallback");
             #elif PLATFORM_ANDROID && !UNITY_EDITOR
     if (AndroidRuntimePermissions.CheckPermission("android.permission.CAMERA") == AndroidRuntimePermissions.Permission.Granted)
     {
         CameraPermissionCallback("true");
     }
     else
     {
         CameraPermissionCallback("false");
     }
             #else
     if (Application.HasUserAuthorization(UserAuthorization.WebCam))
     {
         CameraPermissionCallback("true");
     }
     else
     {
         CameraPermissionCallback("false");
     }
             #endif
 }
 public void OpenSettings()
 {
     AndroidRuntimePermissions.OpenSettings();
     settingsPanel.SetActive(false);
 }