操作系统:安卓
给定:用户表示他们希望保持连接到应用程序的服务器以接收更新等。
目标:即使应用处于后台状态,也能确保用户连接到应用的服务器。
问题:一个问题是偶尔会断开与网络的连接。如果用户失去数据网络连接(失去 2G、3G、WiFi)然后又重新连接,我们的应用程序将没有连接。我目前正在尝试使用PhoneStateListener
's 来检测各种网络变化,从而在适当的时候重新启动与服务器的连接。在我的 Nexus One (2.1) 上,我发现它onSignalStrengthsChanged
并onDataConnectionStateChanged
没有被调用,除非听众最初注册,但之后没有。侦听器在 Service 中注册,因此只要 Service 处于活动状态,它们就会持续侦听(出于此问题的目的,我们可以假设它是“永远”的)。有没有其他人在收听数据连接的状态方面有任何问题?
onServiceStateChanged
似乎是迄今为止最可靠的,但我想知道人们是否也与其他听众取得了成功。