首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查miui手机短信的权限

如何检查miui手机短信的权限
EN

Stack Overflow用户
提问于 2016-12-29 06:22:34
回答 2查看 671关注 0票数 3

我听说miui手机也要求作为棉花糖的权限,所以我为它创建了一些代码。

它在其他手机上运行良好,但当我在MIUI设备上测试它时,它的返回0无论我接受许可还是拒绝许可。

下面我将我的代码放在检查权限的代码中

代码语言:javascript
复制
if ( android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M )
{
    checkAndRequestPermissions(); // this method first check for permisison if not granted then call ActivityCompact.checkSelfPermisison(context,permisison);
}
else
{
    int permission = PermissionChecker.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    Log.d("Permission status","Status"+permission);
}
EN

回答 2

Stack Overflow用户

发布于 2017-07-19 11:15:52

请添加此代码并调用checkUsagePermission函数,以检查棉花糖miui中的读sms权限。

代码语言:javascript
复制
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;
}
票数 3
EN

Stack Overflow用户

发布于 2016-12-29 06:42:56

这是棉花糖及以上版本的示例代码:

公共静态类实用程序{公共静态最终int MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 123;

代码语言:javascript
复制
    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
    public static boolean checkPermission(final Context context) {
        int currentAPIVersion = Build.VERSION.SDK_INT;
        if (currentAPIVersion >= android.os.Build.VERSION_CODES.M) {
            if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.READ_EXTERNAL_STORAGE)) {
                    AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context, R.style.MyAlertDialogStyle);
                    alertBuilder.setCancelable(true);
                    alertBuilder.setTitle("Permission necessary");
                    alertBuilder.setMessage("External storage permission is necessary");
                    alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                        @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
                        public void onClick(DialogInterface dialog, int which) {
                            ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
                        }
                    });
                    AlertDialog alert = alertBuilder.create();
                    alert.show();

                } else {
                    ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
                }
                return false;
            } else {
                return true;
            }
        } else {
            return true;
        }
    }
}

这是一种检查读取外部存储的权限的方法。请参考代码并相应地进行操作。希望这能帮到你。

还在onCreate方法中添加此代码

布尔结果= Utility.checkPermission(MainActivity.this);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41374225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档