我有一个关于新的Android 6.0 (Marshmallow)发布的问题。
是否有可能通过Intent或类似的东西来显示特定应用程序的“应用程序权限”屏幕?
使用以下代码可以在设置中显示应用程序的“应用程序信息”屏幕:
startActivity(
new Intent(
android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", getPackageName(), null)
)
);
是否有类似的解决方案直接打开应用程序的“应用程序权限”屏幕?
我已经对此做了一些研究,但我无法找到解决方案。
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
描述
设置。ACTION_APPLICATION_DETAILS_SETTINGS
打开应用程序的详细信息设置页面。从这里,用户必须手动分配所需的权限。
意图。FLAG_ACTIVITY_NEW_TASK
可选的。如果设置,则打开设置屏幕(活动)作为新活动。否则,它将在当前运行的活动中打开。
Uri.fromParts("package", getPackageName(), null)
准备或创建URI,而getPackageName() -返回应用程序包的名称。
intent.setData (uri)
别忘了设置这个。否则,你会得到android.content.ActivityNotFoundException。因为你已经把你的意图设置为设置。ACTION_APPLICATION_DETAILS_SETTINGS和android希望搜索某个名称。