如您所知,小米设备拥有自己的权限系统。我在设备xiaomi redmi 3,api 22,android 5.1.1上测试我的应用程序。我想检查是否有权访问相机和音频。但标准方式不起作用:
ContextCompat.checkSelfPermission(getActivity().getApplicationContext(), "android.permission.CAMERA");
返回0,但事实并非如此。
我找到了另一种方法,但它也无法正常工作:
boolean b = hasSelfPermissionForXiaomi(getActivity(),"android.permission.CAMERA");
private boolean hasSelfPermissionForXiaomi(Context context,String permission){
String permissionTop = AppOpsManagerCompat.permissionToOp(permission);
if(permissionTop == null){
// not dangerous
return true;
}
int noteOp = AppOpsManagerCompat.noteOp(context,permissionTop, Process.myUid(),context.getPackageName());
return noteOp == AppOpsManagerCompat.MODE_ALLOWED && checkSelfPermission(context,permission) == PackageManager.PERMISSION_GRANTED;
}
b = true,虽然事实并非如此。
伙计们,你们中谁都知道如何检查xiaomi设备的权限???