尝试检索前台应用时出现Android 6.0棉花糖UsageStatsManager问题

fcdimitr

每当我尝试查询UsageStatsManager的使用情况统计信息时,我都可以正确获取最近运行的应用程序。但是,如果我下拉状态栏并收到新通知,则上次使用的应用程序(基于UsageStats)将更改为该通知的应用程序。结果,我收到有关前台应用程序已更改的错误警报。

我似乎找不到一种方法来过滤这些特定的抽签。有任何想法吗?

现在,我用以下代码查询前台应用程序。该问题仅存在于棉花糖中(5.X正常工作)。

UsageStatsManager mUsageStatsManager = (UsageStatsManager) rotationManager.getSystemService("usagestats");
long time = System.currentTimeMillis();
// We get usage stats for the last 10 seconds
List<UsageStats> stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 2, time);
// Sort the stats by the last time used
if (stats != null) {
SortedMap<Long, UsageStats> mySortedMap = new TreeMap<Long, UsageStats>();
for (UsageStats usageStats : stats) {
    mySortedMap.put(usageStats.getLastTimeUsed(), usageStats);
}
if (mySortedMap != null && !mySortedMap.isEmpty()) {
    foregroundApp = mySortedMap.get(mySortedMap.lastKey()).getPackageName();
} 
}
凌坤孔

您可以查询usageEvent,以检查上一个活动应用程序的事件是否为UsageEvents.Event.MOVE_TO_FOREGROUND。

获取前景色应用程序后,您可以参考以下代码:

 UsageEvents usageEvents = mUsageStatsManager.queryEvents(time - 100 * 1000, time);
 UsageEvents.Event event = new UsageEvents.Event();
 // get last event
 while (usageEvent.hasNextEvent()) {
     usageEvent.getNextEvent(event);
 }
 if (foregroundApp.equals(event.getPackageName()) && event.getEventType() == UsageEvents.Event.MOVE_TO_FOREGROUND) {
     return foregroundApp ;
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android 6棉花糖中获取草稿短信

来自分类Dev

Android 6棉花糖权限无法正常使用

来自分类Dev

Android棉花糖应用程序中位置的权限问题

来自分类Dev

应用在Nexus 6 Android棉花糖“ N”帧上的运行速度非常慢

来自分类Dev

应用在Nexus 6 Android棉花糖“ N”帧上的运行速度非常慢

来自分类Dev

棉花糖中使用GridLayoutManager的Android recyclerview遇到问题

来自分类Dev

棉花糖上的 Android 全屏对话框填充问题

来自分类Dev

是否可以在便携式安装的SD卡上写入?(Android 6棉花糖)

来自分类Dev

想要Android 6棉花糖中的USB文件实路径吗?

来自分类Dev

Android棉花糖权限

来自分类Dev

Android棉花糖权限?

来自分类Dev

打开pdf文件错误:无法访问此文件。检查位置或网络,然后重试。Android 6棉花糖

来自分类Dev

自Android 6棉花糖以来,javax.crypto.Cipher的工作方式有所不同

来自分类Dev

打开pdf文件错误:无法访问此文件。检查位置或网络,然后重试。Android 6棉花糖

来自分类Dev

Android棉花糖(6.0)中的自定义Seekbar视图问题

来自分类Dev

当我卸载应用程序时,Android Samsung S6 SM-G920F棉花糖无法删除数据

来自分类Dev

棉花糖应用启动动画

来自分类Dev

在棉花糖Android中无法创建目录

来自分类Dev

Android棉花糖中的SimpleDateFormat行为更改

来自分类Dev

AppCompatButton在Android棉花糖上不显示

来自分类Dev

高速捕获请求Android棉花糖

来自分类Dev

Android在棉花糖中获取蓝牙地址

来自分类Dev

无法在Android棉花糖上选择文件

来自分类Dev

如何授予对棉花糖上运行的android应用的权限?

来自分类Dev

使用UsageStatsManager获取前台应用

来自分类Dev

应用与运行棉花糖的Nexus7不兼容

来自分类Dev

如何确保棉花糖前应用程序崩溃

来自分类Dev

烧瓶,棉花糖-嵌套字段的问题

来自分类Dev

请求权限的问题棉花糖

Related 相关文章

  1. 1

    如何在Android 6棉花糖中获取草稿短信

  2. 2

    Android 6棉花糖权限无法正常使用

  3. 3

    Android棉花糖应用程序中位置的权限问题

  4. 4

    应用在Nexus 6 Android棉花糖“ N”帧上的运行速度非常慢

  5. 5

    应用在Nexus 6 Android棉花糖“ N”帧上的运行速度非常慢

  6. 6

    棉花糖中使用GridLayoutManager的Android recyclerview遇到问题

  7. 7

    棉花糖上的 Android 全屏对话框填充问题

  8. 8

    是否可以在便携式安装的SD卡上写入?(Android 6棉花糖)

  9. 9

    想要Android 6棉花糖中的USB文件实路径吗?

  10. 10

    Android棉花糖权限

  11. 11

    Android棉花糖权限?

  12. 12

    打开pdf文件错误:无法访问此文件。检查位置或网络,然后重试。Android 6棉花糖

  13. 13

    自Android 6棉花糖以来,javax.crypto.Cipher的工作方式有所不同

  14. 14

    打开pdf文件错误:无法访问此文件。检查位置或网络,然后重试。Android 6棉花糖

  15. 15

    Android棉花糖(6.0)中的自定义Seekbar视图问题

  16. 16

    当我卸载应用程序时,Android Samsung S6 SM-G920F棉花糖无法删除数据

  17. 17

    棉花糖应用启动动画

  18. 18

    在棉花糖Android中无法创建目录

  19. 19

    Android棉花糖中的SimpleDateFormat行为更改

  20. 20

    AppCompatButton在Android棉花糖上不显示

  21. 21

    高速捕获请求Android棉花糖

  22. 22

    Android在棉花糖中获取蓝牙地址

  23. 23

    无法在Android棉花糖上选择文件

  24. 24

    如何授予对棉花糖上运行的android应用的权限?

  25. 25

    使用UsageStatsManager获取前台应用

  26. 26

    应用与运行棉花糖的Nexus7不兼容

  27. 27

    如何确保棉花糖前应用程序崩溃

  28. 28

    烧瓶,棉花糖-嵌套字段的问题

  29. 29

    请求权限的问题棉花糖

热门标签

归档