首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >活动识别PendingIntent在半夜被叫停

活动识别PendingIntent在半夜被叫停
EN

Stack Overflow用户
提问于 2014-06-12 06:32:30
回答 1查看 1.8K关注 0票数 3

我的应用程序定期收集活动识别检测到的活动数据。我实现了它的与文档中描述的完全相同,但有一分钟的间隔。

只要用户登录--应用程序在PendingIntent中注册以接收来自google进程的更新。

请不要告诉我电池的使用,网络,以及每分钟的请求更新导致的性能问题,除非与我的问题有关:

问题:在某些设备中,(在Nexus 5中最多发生),在半夜持续5-6个小时-- IntentService停止了。

我不确定,但我怀疑这与Google的优化和重要的运动传感器没有检测到任何进入活动识别机制的运动有关,就像可能发生的文档中所描述的那样。

--对我的应用程序来说,了解当前每分钟的活动是什么很重要,即使它保持不变,或者长时间空闲也是如此。

我的问题:

  • 我如何知道周期性的活动识别是否因为重要的运动传感器或任何其他原因而被调用?
  • 它有一种方法可以强制Google play进程执行活动更新,而不需要在一段时间内停止它?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-12 06:41:41

ActivityRecognitionClient.requestActivityUpdates

为了节省电池,当设备“静止”很长一段时间后,活动报告可能会停止。一旦设备再次移动,它将恢复。这种情况只发生在支持Sensor.TYPE_SIGNIFICANT_MOTION硬件的设备上。

正如你所怀疑的。您没有理由不能使用多种数据存储技术保存最后一个值--对于您的情况,一个简单的SharedPreference可能就足够了。

如果您是基于被调用的IntentService直接触发操作(因为其他应用程序可能会导致它极快地触发),而不仅仅是活动的变化,那么您应该将这些操作解耦,而不是按照您需要的特定时间间隔触发设置警报周期同步适配器,读取最近收到的活动的当前值。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24177858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档