转到我的应用程序的“应用程序权限”屏幕

时间:2015-10-02 00:41:53

标签: android permissions android-6.0-marshmallow

是否有意图转到我的应用程序"应用程序权限" Android-M中的屏幕?

我正在为Android-M准备我的应用程序并使用新的权限模型。我已按照链接

中提到的所有步骤进行操作

https://developer.android.com/training/permissions/requesting.html

如果用户已经检查过"再也没有问过"那么一切都已经确定并且一切都很好。按钮和拒绝权限,在下次启动时,我想让用户选择转到应用程序"应用程序权限"如果他改变主意,就自己改变许可。我希望通过提供一个按钮,让用户直接进入我的应用程序"应用程序权限"以便让非技术娴熟的用户更轻松一点。屏幕。有办法吗? (这比向用户提供的说明要好MenuSettingsApplicationsManage Applications→选择应用程序)

感谢您的帮助!

2 个答案:

答案 0 :(得分:62)

不,没有意图直接进入“权限”屏幕。

但是,就像在以前版本的Android中一样,您可以使用以下代码将人们指向应用程序的详细设置页面:

Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
    Uri.fromParts("package", getPackageName(), null));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

这将允许他们在访问权限之前只点击一个按钮(该屏幕上的“权限”按钮)。

请注意,根据UX around asking for permissions,请考虑仅作为最后手段链接到设置页面,并且仅在权限必要的情况下才能让您的应用完全正常运行 - 理想情况下,当shouldShowRequestPermissionRationale()返回true时,你应该显示一个强有力的理由(即,他们已经拒绝了一次,但没有点'永不再问'),这样第二次用户看到权限对话框时确切地知道你为什么需要这个许可。这意味着用户点击“永不再问”应被视为一个非常强烈的信号,表明用户不会授予您许可。

答案 1 :(得分:1)

不幸的是,这是不可能的,但是,正如其他所有应用程序一样,我们可以打开应用程序的设置页面,以便用户可以从那里手动授予必要的权限。

val intent = Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", packageName, null)
)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)