我正在尝试授权使用API> = 23的设备来检查软件包用户统计信息。 如https://developer.android.com/about/versions/android-5.0.html#System中所述,我可以使用android.app.usage API。
该API的使用要求我在清单中声明此权限:
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" tools:ignore="ProtectedPermissions" />
但如果我不“忽略ProtectedPermissions”,AndroidStudio会给我这个错误:
问题:
这是否意味着,如何在文档中说明,用户还必须通过设置&gt;启用此应用的访问权限。安全&gt;有使用权限的应用。,或者这两件事与每个人无关?
如何通过设置&gt;要求用户启用此应用的访问权限安全&gt;有使用权限的应用。无论如何?
无论如何,为什么,当我在设置&gt;中手动设置 on 应用时安全&gt;应用程序,绕过前一点,当我到达这行代码时仍然没有得到对话框,授权仍然没有给出?这正是Android Documentation似乎要求做的事情。为什么这个请求甚至没有弹出?还缺少什么?
if (Build.VERSION.SDK_INT >= 23)
if (ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.PACKAGE_USAGE_STATS) != PackageManager.PERMISSION_GRANTED)
ActivityCompat.requestPermissions(myActivity, new String[]{Manifest.permission.PACKAGE_USAGE_STATS}, MY_REQUEST_CODE); // <-- I reach this point but the dialog does not popup!??
答案 0 :(得分:1)
您应该设置这样的权限;
<uses-permission
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
您可以访问以下权限;
Intent intent = new
Intent(android.provider.Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);
希望,这有帮助。