java – 对PACKAGE_USAGE_STATS的请求权限
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 对PACKAGE_USAGE_STATS的请求权限,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1485字,纯文字阅读大概需要3分钟。
内容图文
我想检查用户是否已授予我的应用程序使用PACKAGE_USAGE_STATS的权限.我目前正在做的是:
// Control that the required permissions is instantiated!
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(this, Manifest.permission.PACKAGE_USAGE_STATS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.PACKAGE_USAGE_STATS}, MULTIPLE_PERMISSION_GRANTED);
}
我已经按照Android Developer部分的描述实现了requestPermissions,它对ACCESS_FINE_LOCATION工作正常.
但是,当我的应用程序请求权限时,它只显示ACCESS_FINE_LOCATION权限而不是PACKAGE_USAGE_STATS,任何人都可以解释原因吗?如果是这样,给我一个解决方案,我该怎么做?
我希望这两个权限都显示在如下对话框中:
解决方法:
遗憾的是,您无法像运行危险权限那样在运行时请求PACKAGE_USAGE_STATS.用户需要通过Settings应用程序手动授予权限,如UsageStatsManager documentation中所述:
This API requires the permission
android.permission.PACKAGE_USAGE_STATS, which is a system-level
permission and will not be granted to third-party apps. However,
declaring the permission implies intention to use the API and the user
of the device can grant permission through the Settings application.
您可以使用以下代码直接打开具有使用权限访问权限的应用:
startActivity(new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS));
Here您可以找到一个基本应用程序示例,其中显示了如何使用App使用情况统计API.
内容总结
以上是互联网集市为您收集整理的java – 对PACKAGE_USAGE_STATS的请求权限全部内容,希望文章能够帮你解决java – 对PACKAGE_USAGE_STATS的请求权限所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。