我对新的Android Marshmallow版本有疑问:
是否可以通过Intent或类似方式显示特定应用程序的权限屏幕?
可以使用以下代码显示应用程序设置 - 是否有直接打开权限屏幕的模拟解决方案?
startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", getPackageName(), null)));
Run Code Online (Sandbox Code Playgroud)
我已经对此做过一些研究,但我无法找到合适的解决方案 - 我将非常感谢您的帮助!
我无法在 SDK 29 中获得位置的“始终允许”提示。我已经在清单中设置了这些权限:
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
并请求用户在运行时允许这些权限。但它只返回“当应用程序打开时”和“拒绝”选项。
关于如何在 SDK 29 中显示它的任何想法。
我想直接打开按钮单击 android 30 上的位置权限设置。我该如何打开?
下面是我的代码。这会在权限页面上导航我,
final Intent i = new Intent();
i.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setData(Uri.parse("package:" + context.getPackageName()));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
context.startActivity(i);
Run Code Online (Sandbox Code Playgroud)