android锁屏休眠后,socket被休眠
实测,和机型有关,有的机型完全没问题。
但是有的机型,表现为锁屏后,UDP接收立即被休眠,无法接收UDP消息。锁屏状态下只要点亮屏幕,就会正常。
UDP发送,启动一个线程,每几秒发送一个UDP包,锁屏后可以正常发送,但是过一段时间,进入深度睡眠之后,就无法发送了。
开始以为是线程被休眠,但是后来发现,线程是可以运行的,但是socket无法正常工作。
使用服务,并且使用电源锁,
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "xxxxx");
if(wl!=null) wl.acquire();
无效,因为是socket别休眠,不是线程被休眠。
但是,人家一个代理上网软件可以正常运行,它肯定是在休眠状态下仍然可以进行正常的网络活动。
但是有的机型,表现为锁屏后,UDP接收立即被休眠,无法接收UDP消息。锁屏状态下只要点亮屏幕,就会正常。
UDP发送,启动一个线程,每几秒发送一个UDP包,锁屏后可以正常发送,但是过一段时间,进入深度睡眠之后,就无法发送了。
开始以为是线程被休眠,但是后来发现,线程是可以运行的,但是socket无法正常工作。
使用服务,并且使用电源锁,
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "xxxxx");
if(wl!=null) wl.acquire();
无效,因为是socket别休眠,不是线程被休眠。
但是,人家一个代理上网软件可以正常运行,它肯定是在休眠状态下仍然可以进行正常的网络活动。
...全文
相关推荐
安卓开发-Android应用源码安卓与PC的Socket通信项目java版.zip
安卓开发-Android应用源码安卓与PC的Socket通信项目java版
android Socket实现简单聊天功能以及文件传输
主要介绍了android Socket实现简单聊天功能以及文件传输,非常具有实用价值,有需要的朋友可以参考下。
Android-Socket长连接通信心跳包消息回调Java服务端
Socket长连接、通信、心跳包、消息回调、Java服务端
安卓XMPP聊天通讯Socket相关-EntboostIM跨平台跨应用的实时通讯平台(android版本).rar
EntboostIM:跨平台、跨应用的实时通讯平台(android版本).rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android中基于Socket的网络通信
Socket通信是网络通信中最常用的技术之一,通过Socket建立的可靠连接,可以让多个终端与服务器保持通信,最典型的应用是建立一个多人聊天程序。


