gpt4 book ai didi

android - 无法访问 Context.USAGE_STATS_SERVICE

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:49 25 4
gpt4 key购买 nike

我正在尝试通过以下方式访问 lollipop 中的 Usage_Stats_Service:

final UsageStatsManager usageStatsManager=(UsageStatsManager)this.getSystemService(Context.USAGE_STATS_SERVICE);

我可以转到 Context 类,看看这个常量是如何存在的,但 Android Studio 一直说它不是有效常量。

我也尝试过使用文字字符串,但似乎 getSystemService 有一个限制,只能接受 @ServiceName 常量。

我花了将近 2 个小时来解决这个问题,但仍未发现发生了什么。欢迎任何帮助。

最佳答案

Android Studio keeps saying that it is not a valid constant.

它不是一个公开可用的常量,因为 USAGE_STAT_SERVICE 是使用 source code 中的 @hide 注释隐藏的。 . documentation 中缺少 USAGE_STAT_SERVICE 支持这一点.

getSystemService has a constraint to only accept @ServiceName constants.

这是由于“属性检查”造成的,应该不会影响编译。可以是turned off .

我还使用直接字符串成功获得了 UsageManagerService 的实例。

UsageStatsManager manager = (UsageStatsManager) getSystemService("usagestats");

此外,值得注意的是 permission required ,

android.permission.PACKAGE_USAGE_STATS

只是被 Studio 标记为无法授予的权限(根据文档在技术上是正确的),因此 Studio 目前不知道诸如此类的“特殊”权限。

可以在

中授予使用权限
Settings > Security > Apps with usage access

关于android - 无法访问 Context.USAGE_STATS_SERVICE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27949046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com