【发布时间】:2012-01-25 09:46:38
【问题描述】:
我的应用程序有activities 和背景service 必须运行24*7,
我的应用程序必须通过Wi-Fi 与服务器通信才能发送和接收信息。
问题:每当服务器发送的任何警报我的应用程序都应该接收并弹出应用程序,无论它是在前台还是后台运行,并向用户提示警报。
因此,当设备处于活动状态时,此功能可以正常工作,但当设备进入睡眠模式时,1 或 2 分钟后它会断开与服务器的连接并停止通信。所以为了解决它,我编写了代码,将 WiFi 睡眠策略设置为 NEVER,并在后台服务的 OnCreate() 方法中获取部分锁定,并在服务的 OnDestroy() 方法中释放锁定。现在观察一些正常工作的时间意味着 5 或 10 分钟之后它再次停止通信。
应用在Android 2.1上开发,部署在支持Android 2.3版本的设备上。
我不明白为什么部分锁定会这样,请帮我解决这个问题。
问候, 皮克斯。
【问题讨论】:
-
你是否在 manifest 中设置了 WAKE_LOCK 权限?