Gol*_*ene 3 android usage-statistics android-5.0-lollipop usagestatsmanager
我需要获取有关最近的应用程序使用情况的信息。
在API 21之前,曾使用getRunningTasks或getRecentTasks来获取此信息。根据文档,API 21中不推荐使用这些方法。
有UsageStatsManager类现在,API等级21推出
,但!Context.getSystemService(UsageStatsService)仅在API级别22中添加!
问题是- 如何在API 21中获取所需的数据?根据信息中心,在此API级别上有13%的用户,我不想失去他们。
Context#getSystemService(...)在API级别1中引入了Well ,但USAGE_STATS_SERVICE在API级别22中引入了Contexts的String。因此,只能在API级别为22以上的设备上访问public static final String字段Context.USAGE_STATS_SERVICE。为了在API级别21中获得所需的数据,您只需要将解析后的字符串“ usagestats”传递给此方法。
tl; dr
使用Context.getSystemService("usagestats")
进一步的注意:
#1该USAGE_STATS_SERVICE字段已经在API级别21中,但是被标记为@hide无法访问的属性。在API级别22中已将其删除。
#2您可能想通过给定方法打开属性检查,@SuppressWarnings("WrongConstant")否则Android Studio会抱怨这不是有效常量
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |