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别休眠,不是线程被休眠。
但是,人家一个代理上网软件可以正常运行,它肯定是在休眠状态下仍然可以进行正常的网络活动。