Mar*_*ann 6 permissions android
我正在构建一个应用程序,用于收集和显示使用android.app.usage.UsageStatsManager系统服务的详细使用统计信息(科学!).此服务需要系统级权限android.permission.PACKAGE_USAGE_STATS.
用户需要在"设置"下明确授予系统级权限.当应用程序启动时,我想以编程方式确定该应用程序是否已被授予此权限.如果没有,我想显示如下提示:

要检查应用是否具有所需权限,我通常会执行以下操作:
if (PackageManager.PERMISSION_DENIED == checkCallingOrSelfPermission("android.permission.PACKAGE_USAGE_STATS")) {
// display prompt
}
// keep going
Run Code Online (Sandbox Code Playgroud)
提示启动Settings.ACTION_USAGE_ACCESS_SETTINGS意图:
final Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

但是,即使应用程序已被授予此权限,也会checkCallingOrSelfPermission(String)始终返回PackageManager.PERMISSION_DENIED(也称-1)返回.
有没有一种特殊的方法来检查系统级权限,或者我做错了什么?
| 归档时间: |
|
| 查看次数: |
1343 次 |
| 最近记录: |