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);
说明
打开应用程序的“详细信息”设置页面。用户必须从此处手动分配所需的权限。
Settings.ACTION_APPLICATION_DETAILS_SETTINGS
Intent.FLAG_ACTIVITY_NEW_TASK
可选的。如果设置,则将设置屏幕(活动)作为新活动打开。否则,它将在当前运行的活动中打开。
Uri.fromParts("package", getPackageName(), null)
准备或创建URI,而getPackageName()-返回应用程序包的名称。
intent.setData(uri)
不要忘记设置这个。否则,您将获得 android.content.ActivityNotFoundException
。因为您已将意向设置为, Settings.ACTION_APPLICATION_DETAILS_SETTINGS
并且android期望搜索到某个名称。