我有一些代码每秒广播udp数据包。我有几个Android设备可以坐着听。运行2.3的设备几乎每秒都可以毫无问题地拾取数据包。运行2.2的设备非常糟糕。这是2.2的已知问题吗?

最佳答案

看看这个问题。 (http://code.google.com/p/android/issues/detail?id=8407

结论是“默认情况下,某些制造商(和自定义ROM)正在过滤广播流量,而有些则没有。请查看WifiManager.MulticastLock,您可能需要获取锁才能接收广播流量:“

这是建议的解决方案:

WifiManager wifi;
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
MulticastLock ml = wifi.createMulticastLock("just some tag text");
ml.acquire();


当asynctask停止时,

ml.release();

07-27 17:25