如何检查用户是否已授予相机或位置权限 (android) UNITY
How to check if user has given camera or location permissions (android) UNITY
我真的为此苦苦挣扎了一段时间 :( 因为我需要一个在 UNITY3D 中工作的 解决方案。
我需要检查用户是否已授予访问 Android 设备摄像头(以及二级位置)的权限。
通常情况下,应用程序会在启动时请求此权限,但如果用户拒绝访问相机,我需要知道并稍后检查。
否则用户可以点击我制作的相机 UI 按钮并尝试通过网络摄像头纹理访问相机...这会导致应用程序 崩溃。
因为 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;
}
希望对您有所帮助:)
我真的为此苦苦挣扎了一段时间 :( 因为我需要一个在 UNITY3D 中工作的 解决方案。
我需要检查用户是否已授予访问 Android 设备摄像头(以及二级位置)的权限。
通常情况下,应用程序会在启动时请求此权限,但如果用户拒绝访问相机,我需要知道并稍后检查。
否则用户可以点击我制作的相机 UI 按钮并尝试通过网络摄像头纹理访问相机...这会导致应用程序 崩溃。
因为 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;
}
希望对您有所帮助:)