作者Shihsuang (小新)
看板AndroidDev
标题[问题] UDP 在休眠时仍然正常接收packet
时间Fri Jul 13 17:53:50 2012
我用了service并且开了两个thread
一个用来send一个用来receive
平常都可以正常的接收到封包
可是当使用者萤幕变黑的时候就无法接收到
我有使用了WakeLock和WifiLock 也有MulticastLock
他有一直在receive可是就是接不到封包
一直跳出timeout
可是我另外一台没有加LOCK的程式码
却可以在萤幕变黑的时候send封包
但也一样没有办法接收封包
我在service的onCreate加入:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
UDPBroadcastService.class.getName());
wakeLock.acquire();
WifiManager wifiManager = (WifiManager) getSystemService(
Context.WIFI_SERVICE);
wifiLock = wifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL,
"WifiLock");
wifiLock.acquire();
mcLock = wifiManager.createMulticastLock("MulticastLock");
mcLock.acquire();
在onDestroy加入:
if (wakeLock != null) {
wakeLock.release();
wakeLock = null;
}
if (wifiLock != null) {
wifiLock.release();
wifiLock = null;
}
if (mcLock != null) {
mcLock.release();
mcLock = null;
}
以上是我的LOCK的程式码
可是好像也没有用
permission也都有加了
请问大家有什麽建议吗???
感激不尽!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.156.58
1F:推 Demarcho:也许跟wifi sleep policy的设定有关? 07/13 21:55
2F:→ Shihsuang:是指去无线网路设定休眠状态仍保持WIFI连线吗?? 07/14 14:51
3F:推 Demarcho:对。看看调整成wifi永远不休眠後问题还在不在。 07/14 15:54
4F:→ Shihsuang:我有调过了,还是一样的问题耶!请问还有什麽设定会影响? 07/15 23:28