Android 应用程序使用情况 (usagestats) 不显示像 Facebook Messagener 聊天头这样的覆盖绘制应用程序的条目

Android App usage (usagestats) does not show entry of Overlay drawn app like Facebook Messagener Chat head

我正在尝试捕获 android 中的单个应用程序事件,以了解每个应用程序花费的时间。大多数情况下,它适用于常规应用程序,但对于屏幕被绘制为叠加层的应用程序,例如 facebook 聊天头,使用情况统计中不会显示任何条目。 ##4636## -> 使用统计信息也是如此。

如果有任何方法可以获取覆盖应用程序的详细信息,请告诉我。

提前致谢!!!

实际上有一种方法可以检测用户正在与不在前台的 activity 进行交互。您需要使用使用事件而不是使用统计信息。您需要与使用情况统计信息相同的权限。但是使用:

UsageStatsManager usm = (UsageStatsManager) this.getSystemService("usagestats")
UsageEvents usageEvent = usm.queryEvents(startTime, System.currentTimeMills());

然后使用如下循环检索使用事件:

while(usageEvents.hasNextEvent()){
UsageEvent.Event e = new UsageEvent.Event()
usageEvents.getNextEvent(e)
//key bit of code:
e.getEventType()
}

然后,如果您检索到值为 7 的结果,则表示用户正在与某个应用交互,但它不在前台。