【发布时间】:2012-08-30 06:01:15
【问题描述】:
我们正在为业务用户构建一个特定的应用程序。应用记录 GPS 坐标并通过 HTTP 将其发布到服务。
在测试过程中,我们发现平板电脑(Android 3.3)屏幕关闭时,应用无法与外部服务通信的问题。在我打开屏幕的那一刻,应用程序立即恢复,然后能够与外部服务通信。
我在智能手机(Android 2.2)上对此进行了测试,即使手机屏幕关闭,它也能完美运行。
我没有为我的应用使用任何类型的服务。我们开始开发时牢记智能手机,但后来也将其带到了平板电脑上。我们从未想过平板电脑的行为会有所不同。
该应用的核心概念是定期将 GPS 坐标发送到网络服务。
我可以在平板电脑上做些什么,让我的应用在屏幕关闭或平板电脑不是为此而构建时在后台运行?
【问题讨论】:
-
您的平板电脑有 3G 连接吗?因为大多数设备在睡眠时会关闭 wifi 连接
-
@JRaymond:是的,它支持 3g,但我正在 WIFI 上进行测试。我还没有在数据计划上对此进行测试
-
@JRaymond:我刚刚在平板电脑上测试了 Wifi 睡眠策略。已选择的选项是:“从不(使用更多电池电量)”
-
另外请注意,一些供应商会在设备处于低功耗状态时暂停许多传感器 - 我目前正在处理三星 Galaxy 10.1 在睡眠期间暂停其加速度计的问题,我可以想象一下同样适用于位置数据。另一方面,摩托罗拉 Xoom 让它们保持开启状态。一些供应商在电池寿命方面比其他供应商更积极
-
@Jaymond:问题不仅仅是在睡眠模式下从系统获取 GPS 坐标。我尝试在三星 Galaxy 平板电脑上使用简单的基于计时器的 Web 服务调用来测试我的应用程序(这次我只是向服务发送常量值)。当平板电脑处于睡眠模式时,即使这也不会被调用。另一方面,智能手机运行良好。可能我需要查看智能手机上是否有任何使用唤醒锁的应用程序
标签: android android-intent android-service