如何检查用户是否已授予相机或位置权限(android)UNITY

时间:2017-09-11 13:24:19

标签: android unity3d permissions android-permissions

我一直在努力解决这个问题:(因为我需要一个在UNITY3D中运行的解决方案。

我需要检查用户是否已授予访问Android设备摄像头的权限(以及第二级的位置)。

通常应用程序以在启动时询问此权限开始,但如果用户拒绝访问我需要知道并稍后检查。

否则,用户可能会点击我制作的相机UI按钮并尝试通过webcamtexture访问相机......这会导致应用程序崩溃。

自Android API 23以来,您无法忽略或已经通过更改Android清单来授予权限,就像我在阅读了几篇有关该帖子的帖子后尝试过的那样。

感谢所有想要解决此问题的人。

1 个答案:

答案 0 :(得分:2)

检查此库:https://github.com/sanukin39/UniAndroidPermission

在该库中,我使用这些方法来检查和请求权限。

 public static void requestPermission(String permissionStr){
        if(!hasPermission(permissionStr)) {
            UnityPlayer.currentActivity.requestPermissions(new String[]{permissionStr}, 0);
        }
    }

    public static boolean hasPermission(String permissionStr) {
        if(Build.VERSION.SDK_INT < 23) {
            return true;
        }
        Context context = UnityPlayer.currentActivity.getApplicationContext();
        return context.checkCallingOrSelfPermission(permissionStr) == PackageManager.PERMISSION_GRANTED;
    }

希望有所帮助:)