我的应用程序有活动和后台服务,必须运行24*7。
我的应用程序必须通过Wi-Fi与服务器通信以发送和接收信息。
问题:每当服务器发送任何警报时,我的应用程序都应该接收并弹出应用程序,无论它是在前台还是后台运行,并通知用户有关警报的情况。
因此,当设备处于活动状态时,这个功能工作得很好,但是当设备进入睡眠模式后,经过1或2分钟,它就会与服务器断开连接并停止通信。为了解决这个问题,我编写了代码,在Background服务的OnCreate()方法中设置WiFi睡眠策略为NEVER并获取部分锁定,在服务的OnDestroy()方法中释放锁定。现在的观察结果是,在一段时间内它工作得很好,即5或10分钟之后,它又停止通信。
该应用程序是在Android 2.1上开发的,并部署在支持Android 2.3版本的设备上。
我无法理解为什么部分锁定会表现出这种行为,请帮助我解决这个问题。
敬礼, Piks。
我的应用程序必须通过Wi-Fi与服务器通信以发送和接收信息。
问题:每当服务器发送任何警报时,我的应用程序都应该接收并弹出应用程序,无论它是在前台还是后台运行,并通知用户有关警报的情况。
因此,当设备处于活动状态时,这个功能工作得很好,但是当设备进入睡眠模式后,经过1或2分钟,它就会与服务器断开连接并停止通信。为了解决这个问题,我编写了代码,在Background服务的OnCreate()方法中设置WiFi睡眠策略为NEVER并获取部分锁定,在服务的OnDestroy()方法中释放锁定。现在的观察结果是,在一段时间内它工作得很好,即5或10分钟之后,它又停止通信。
该应用程序是在Android 2.1上开发的,并部署在支持Android 2.3版本的设备上。
我无法理解为什么部分锁定会表现出这种行为,请帮助我解决这个问题。
敬礼, Piks。