我从一段时间起就真正为此而挣扎:(我需要一个在Unity3d中起作用的解决方案。
我需要检查用户是否授予访问Android设备摄像机(以及第二级的位置)的权限。
通常,该应用程序以开始启动时要求此权限,但是如果用户拒绝访问 对摄像机的访问权限,我需要知道并稍后检查。
否则,用户可以按我制作的相机UI按钮,并尝试通过WebCamTexture访问相机...并导致应用程序的崩溃。
由于Android API 23,您不能像我在阅读了几篇文章后尝试的更改Android清单那样忽略或已经授予权限。
感谢所有有解决这个问题的人。
检查此库: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;
}
希望它有帮助:)