我想检查用户是否已授予我的应用程序使用 PACKAGE_USAGE_STATS 的权限。我目前正在做的是:
Application.Current.Resources.MergedDictionaries[0] =
new ResourceDictionary() { Source = new Uri("Themes/LightTheme.xaml", UriKind.Relative) };
我已经按照Android开发人员部分的说明实现了requestPermissions,它对 ACCESS_FINE_LOCATION 工作正常。
但是,当我的应用程序请求权限时,它只显示 ACCESS_FINE_LOCATION 权限而不是 PACKAGE_USAGE_STATS 可以解释原因吗?如果是这样,给我一个解决方案,我该怎么做?
答案 0 :(得分:7)
不幸的是,您无法像运行危险权限那样在运行时请求PACKAGE_USAGE_STATS
。用户需要通过“设置”应用程序手动授予权限,如UsageStatsManager
documentation中所述:
此API需要权限 android.permission.PACKAGE_USAGE_STATS,这是一个系统级的 许可,不会授予第三方应用。然而, 声明权限意味着有意使用API和用户 设备可以通过“设置”应用程序授予权限。
您可以使用以下代码直接打开Apps with usage access
活动:
startActivity(new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS));
Here您可以找到一个基本应用示例,其中显示了如何使用应用使用情况统计信息API。