2017-03-16 506 views

回答

1

是此权限将工作未满19 API或不

许可权本身PACKAGE_USAGE_STATS仅在23 API,并将UsageStatsManager仅在API 21中添加有没有办法使用这些API在早期版本的Android上,因为它们根本不存在。

如果我们授予此权限,那么我应该向用户授予权限还是不需要,如果是,那么在哪个sdk级别需要问?没有得到适当的文件。

Requesting Permissions at Run Time文档是您正在查找的内容。在任何运行API 23+的设备上,您的用户将能够随意撤销权限,并且通常您应该在运行时询问权限。

但是,您要注意这注意UsageStatsManager文档中:

此API需要许可android.permission.PACKAGE_USAGE_STATS,这是一个系统级权限将不被授予第三方应用程序。但是,声明权限意味着使用API​​的意图,并且设备的用户可以通过设置应用程序授予权限。

1

此权限在API level 21补充说,是LOLLYPOP

而且也没有必要授予在运行时此权限。

不幸的是,您不能像运行危险许可那样在运行时请求PACKAGE_USAGE_STATS。用户需要手动授予通过设置应用许可作为UsageStatsManager文档中说明:Android Developer

供参考:运行时间的权限被授予API level 23或以上即MARSHMALLOW