我有一些代碼每秒廣播udp數據包。我有幾個Android設備坐着,聽着。運行2.3的設備每秒鐘都會收到數據包,而且幾乎沒有失敗。運行2.2的設備非常糟糕。這是2.2的已知問題嗎?UDP適用於Android 2.3,但不適用於Android 2.2
感謝
崔佛
我有一些代碼每秒廣播udp數據包。我有幾個Android設備坐着,聽着。運行2.3的設備每秒鐘都會收到數據包,而且幾乎沒有失敗。運行2.2的設備非常糟糕。這是2.2的已知問題嗎?UDP適用於Android 2.3,但不適用於Android 2.2
感謝
崔佛
通常情況下,我認爲它不會是一個問題,因爲DatagramSocket
是從API級別1使用,你可以在右上角這個link看到。或者您是否在使用其他對象來處理您的連接?
看看這個問題。 (http://code.google.com/p/android/issues/detail?id=8407)
結論是「有些製造商(&自定義ROM)默認過濾出廣播流量,有些不是。看看WifiManager.MulticastLock,你可能需要按順序獲得鎖接收的廣播流量:http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html「
這是建議的解決方案:
WifiManager wifi;
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
MulticastLock ml = wifi.createMulticastLock("just some tag text");
ml.acquire();
當的AsyncTask停止做
ml.release();
嗨。我正在使用DatagramSocket。我什麼都沒做。網絡上的所有例子都是直接排除的。當我在2.3上運行相同的項目時,我獲得了非常棒的結果。我在2.2上運行它,但它不起作用。儘管如此,感謝答覆。你會認爲它在這麼長的時間裏會是防彈的。也許2.2只是有問題。 – 2012-03-22 22:25:41