使用低于api 23的版本检查xiaomi设备的权限

时间:2017-09-17 11:48:11

标签: android permissions android-permissions user-permissions android-5.1.1-lollipop

如您所知,小米设备拥有自己的权限系统。我在设备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设备的权限???

0 个答案:

没有答案