"Write settings"权限未在Marshmallow Android中授权

5
<uses-permission android:name="android.permission.WRITE_SETTINGS"

我已经在清单文件中声明了上述行,并在活动启动时请求权限,但与其他权限不同的是,在重新启动应用程序后,它再次要求权限。当我检查是否已授予权限时,结果显示仅对此权限未授予,但当我使用其他权限进行相同的检查时,用户完成后它们已被授予。

ActivityCompat.requestPermissions(SplashScreen.this,PERMISSIONS, 1);

我检查了一下: EasyPermissions.hasPermissions(this, PERMISSIONS)

你在其他设备上尝试过吗? - droidev
我在模拟器上试过了。 - user6265154
你在两种情况下都遇到了问题吗? - droidev
是的,我刚在LG Nexus上检查过了。 - user6265154
尝试一下,它可能有效。https://dev59.com/J1wX5IYBdhLWcg3w-Thv#41221852 - Bipin Bharti
1个回答

25

使用此代码来设置权限:

 public void settingPermission() {

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (!Settings.System.canWrite(getApplicationContext())) {
                Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS, Uri.parse("package:" + getPackageName()));
                startActivityForResult(intent, 200);

            }
        }
    }

我自己也得到了类似的代码,但是你是否成功使用onActivityResult获得了结果呢?因为当我在授权后按下“返回”键时,我得到的结果代码是RESULT_CANCELED - yshahak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接