手机从睡眠模式中唤醒后,我遇到了移动互联网连接问题。有一个应用程序定期更新一些数据。 AlarmManager
触发我的BroadcastReceiver
开始service
。 service
获取PARTIAL_WAKE_LOCK
并发送一些http请求。不幸的是,当更新间隔相当大时(5h),service
无法发送/下载任何东西。当我使用WIFI连接而不是移动时出现问题,并且WIFI sleep policy
设置为never
。更新时间间隔短(不到半小时)时,移动连接上一切正常。我也确定我的BroadcastReceiver
收到5h事件,因为我已经检查过它。android dev:手机唤醒后移动互联网连接问题
应如何处理此类事件。我试着检查ConnectivityManager
是否建立了连接,如果不是,则重试5次,但仍然出现相同的问题。
感谢您的任何回答预先
我应该在哪里获得唤醒锁?在'AlarmReceiver'里面传递给'Service'还是直接在'service'中? – boro 2010-07-14 14:18:34
AlarmReceiver更好 - 取决于如何将控制权交给服务(例如通过发送意图),系统可以再次进入休眠状态。 – adamk 2010-07-14 14:32:45
“Intent”,我不知道其他方式。所以如果有意图,我应该如何将它传递给'service'。我已经阅读过Stack,通常它是由'service'中的静态变量完成的。它可以做得更好吗? – boro 2010-07-14 14:52:23