gpt4 book ai didi

Android 在 API 级别 21 中获取 UsageStatsManager

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:29 26 4
gpt4 key购买 nike

我需要获取有关最近应用使用情况的信息。

在 API 21 之前,它被使用 getRunningTasksgetRecentTasks获取此信息。根据文档,这些方法已在 API 21 中弃用。

UsageStatsManager现在上课,在 API 级别 21 中引入。
但是! Context.getSystemService(UsageStatsService) was added only in API level 22!

问题是 - 如何在 API 21 中获取所需数据??根据dashboards ,这个 API 级别有 13% 的用户,我不想失去他们。

最佳答案

Context#getSystemService(...) 是在 API 级别 1 中引入的,但是 Contexts 的 USAGE_STATS_SERVICE 字符串是在 API 级别 22 中引入的。所以 public static final String 字段 Context.USAGE_STATS_SERVICE 只能在 API 级别 22 及更高级别的设备上访问。为了在 API 级别 21 中获得所需的数据,您只需将已解析的字符串“usagestats”传递给此方法。

tl;dr
使用 Context.getSystemService("usagestats")

补充说明:
#1 USAGE_STATS_SERVICE 字段已经在 API 级别 21 中,但被标记为 @hide 属性,这使得无法访问。在 API 级别 22 中,这已被删除。

#2 您可能希望通过@SuppressWarnings("WrongConstant") 关闭给定方法的归因检查,否则 Android Studio 会提示它不是有效常量

关于Android 在 API 级别 21 中获取 UsageStatsManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39882317/

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