如何通过编程在应用程序设置中打开应用程序权限窗口

52

我正在研究新的权限模型(Android 6.0 Marshmallow),想知道是否有办法以编程方式打开应用程序的权限窗口?

app permissions

不仅是应用程序详细信息

app settings

我成功地使用类似以下代码打开了第二个屏幕

private void goToSettings() {
    Intent myAppSettings = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + getPackageName()));
    myAppSettings.addCategory(Intent.CATEGORY_DEFAULT);
    myAppSettings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(myAppSettings);
}

但是我不知道如何打开第一个。

非常感谢您的帮助 :)

1个回答

105

这是不可能的。你可以打开应用程序设置屏幕,但无法打开权限设置屏幕。

更多解释请参考这个问题

在这里我分享打开应用程序设置屏幕的代码:

Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", activity.getPackageName(), null);
intent.setData(uri);
context.startActivity(intent);

如需更多信息,请参考在Android中打开应用程序设置屏幕


1
很遗憾听到这个消息。我本来还希望有解决办法的。感谢您在 Stack Overflow 上指出了主要问题。(我一直在寻找答案,但错过了这个)再次感谢您。 - Karol Żygłowicz
你是如何解决的?Karol Żygłowicz - Raja Jawahar
有没有一种方法可以从特定的应用程序打开任何其他应用程序设置? - Anubhav
它对我有效,谢谢! - marti_
12
如果有人想知道 android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS 是什么意思。 - Pierre
显示剩余2条评论

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