【发布时间】:2016-05-13 03:05:48
【问题描述】:
我有一个活动和有界的服务。在activity.OnCreate() 中,我打印了usagestats,它工作正常。我尝试了太多东西来获取 boundedservice 中的使用统计信息,但我做不到。这里有一些场景,我测试过
1)Activity.Oncreate: 调用 usageStatsManager.queryAndAggregateUsageStats(startTime, endTime); 我得到一张充满了usageStats的地图。不错
2)后台服务,周期性完成OnStartCommand后,调用usageStatsManager.queryAndAggregateUsageStats(startTime, endTime);得到空map。 糟糕。 (这里我使用了来自有界服务的上下文)
3)在绝望的尝试中,我使用了来自服务的回调并调用了活动来调用相同的 usageStatsManager.queryAndAggregateUsageStats(startTime, endTime);,它再次获得了空地图。 糟糕。 (这里我使用了从活动中出来的上下文)
在上述所有场景中,我在手机上验证了该应用有权获取应用使用数据。
我在 androidmanifest.xml 中有以下条目来启动服务
<service android:name="CENSORED.main.SmartBoundedService" />
为什么项目符号 2 和 3 中的场景返回空的使用情况统计信息?我觉得我尝试了太多东西,并且可能对有限服务如何与 android 系统服务交互缺乏一些概念性的理解。
我的 UI 在 mainactivity 上运行,所有逻辑都在有界服务中运行。关于有界服务与意图服务应如何获得 android 系统服务是否有任何限制/指南(我假设没有)
任何讨论,即使它没有直接回答我的问题,也会提供信息和赞赏
【问题讨论】:
-
请不要发布真实的应用程序包。我已经为你删掉了。
标签: android