android - 当我使用 com.sec.android.provider.badge.BadgeProvider 时在 android 6.0 中出现异常

标签 android

 Caused by: java.lang.SecurityException: Permission Denial: opening provider com.sec.android.provider.badge.BadgeProvider from ProcessRecord{8beeb65 18868:com.rehq.app/u0a175} (pid=18868, uid=10175) requires com.sec.android.provider.badge.permission.READ or com.sec.android.provider.badge.permission.WRITE

有人知道如何解决这个异常吗?

此异常在android 6.0中产生。

我不知道如何在 android 6.0 上给 com.sec.android.provider.badge.permission.READ 或 com.sec.android.provider.badge.permission.WRITE 权限

最佳答案

你得到错误是因为你不允许权限,因为启动 android 6.0 你必须明确请求权限

首先在 list 中声明权限为

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

然后在您的 Activity 中按如下方式请求许可

boolean permission;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        permission = Settings.System.canWrite(context);
    } else {
        permission = ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_SETTINGS) == PackageManager.PERMISSION_GRANTED;
    }
    if (permission) {
        //do your code
    }  else {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
            intent.setData(Uri.parse("package:" + context.getPackageName()));
            context.startActivityForResult(intent, MainActivity.CODE_WRITE_SETTINGS_PERMISSION);
        } else {
            ActivityCompat.requestPermissions(context, new String[]{Manifest.permission.WRITE_SETTINGS}, MainActivity.CODE_WRITE_SETTINGS_PERMISSION);
        }
    }

希望对你有帮助

关于android - 当我使用 com.sec.android.provider.badge.BadgeProvider 时在 android 6.0 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44131473/

相关文章:

android - 无法在 Android Studio 中访问 java.time

Android:RecyclerView 不显示 fragment 中的列表项

android - 允许在 onPause() 之前或期间显示对话框?

android - 从 'compile' 切换到 'implementation' 会出现 DexPathList 错误

android - 从 SD 卡加载多个音频文件

带有图标的Android寻呼机滑动选项卡

android - 关于 Android 中的分页

android - 这是一个好习惯吗? (类字段)

android - Toast 背景更改以匹配 Activity 的主题

java - Android:使用来自 itemOnSelected Spinner 的行结果 (sqlite) 填充 TextView