int permissionCheck = ContextCompat.checkSelfPermission(mActivity, Manifest.permission.RECEIVE_SMS);
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_CONTACTS},
PERMISSION_REQUEST_CODE);
Log.d(TAG, permissionCheck + "");
权限检查始终返回 PERMISSION_GRANTED,但在操作系统 (MiUi) 中,应用程序没有权限。
测试设备:红米Note 3 Pro(MIUI 8)
在miui中,您需要以不同的方式询问权限。您需要检查权限模式是否等于0。
检查此功能以获取上面棉花糖中的读取短信权限
private boolean checkUsagePermission() {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
AppOpsManager appOps = (AppOpsManager) getSystemService(Context.APP_OPS_SERVICE);
int mode = 0;
mode = appOps.checkOpNoThrow("android:read_sms", android.os.Process.myUid(), getPackageName());
boolean granted = mode == AppOpsManager.MODE_ALLOWED;
if (!granted) {
//write your code for accept that permission
return false;
}
}
return true;
}
一旦你在你的 android studio 中查看 AppOpsManager 类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)