首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android定期服务在手机空闲时难以使用3G

问android定期服务在手机空闲时难以使用3G
EN

Stack Overflow用户
提问于 2012-02-23 13:28:25
回答 1查看 215关注 0票数 0

我正在开发一个使用AlarmManager运行定期服务(每15分钟)的安卓应用程序。

该服务通过互联网发送/接收数据。

我注意到当3G启用时,手机处于空闲状态。它很难与互联网进行通信。这就好像3G不会在需要的时候自动开机。

当用户同时使用手机(和3G)时,这项服务效果很好,但当手机空闲时就不行了。

有什么建议可以在我需要的时候触发3G吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-23 13:43:15

当电话不在使用时,您需要获取并持有WakeLock。否则,手机将进入休眠状态,不会处理您的请求。

在从AlarmManager调用的BroadcastReceiver中创建唤醒锁是很重要的。然后将WakeLock设置为静态引用并调用服务。然后,该服务将取消设置静态引用,并继续持有WakeLock,直到代码完成。

这只是一个小贴士,你可能想看看AlarmManager.setInexactRepeating来节省能源。它将类似的闹钟组合在一起,这样手机唤醒的次数就会更少。此外,15分钟的间隔也非常短。在这样的时间间隔内唤醒手机会消耗大量的电池。不过,最少一个小时是不错的。

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

https://stackoverflow.com/questions/9407682

复制
相关文章

相似问题

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