我一直在努力解决这个问题:(因为我需要一个在UNITY3D中运行的解决方案。
我需要检查用户是否已授予访问Android设备摄像头的权限(以及第二级的位置)。
通常应用程序以在启动时询问此权限开始,但如果用户拒绝访问我需要知道并稍后检查。
否则,用户可能会点击我制作的相机UI按钮并尝试通过webcamtexture访问相机......这会导致应用程序崩溃。
自Android API 23以来,您无法忽略或已经通过更改Android清单来授予权限,就像我在阅读了几篇有关该帖子的帖子后尝试过的那样。
感谢所有想要解决此问题的人。
答案 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;
}
希望有所帮助:)