1
好的我寫了一個發送和接收多播UDP數據包的應用程序。該應用程序完美地運行在我的三星S3上,但它在運行Android 2.3.5的HTC Explorer上沒有收到任何數據包。在進一步的研究中,我發現有些手機完全不支持UDP多播。我想確保我的應用程序可以在所有手機上使用。我們可以在HTC手機上啓用多播嗎?如果不是,還有其他解決方案來解決這個問題嗎?Android:HTC手機上的UDP多播
好的我寫了一個發送和接收多播UDP數據包的應用程序。該應用程序完美地運行在我的三星S3上,但它在運行Android 2.3.5的HTC Explorer上沒有收到任何數據包。在進一步的研究中,我發現有些手機完全不支持UDP多播。我想確保我的應用程序可以在所有手機上使用。我們可以在HTC手機上啓用多播嗎?如果不是,還有其他解決方案來解決這個問題嗎?Android:HTC手機上的UDP多播
我跑進對HTC的一個同樣的問題,運行Android 4.1.2
下面是解決它,我從Android bug report一個解決方案:
Wanting to receive broadcasts in a async routine I now use the following code just before the loop where the broadcast messages are received:
WifiManager wifi;
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
MulticastLock ml = wifi.createMulticastLock("just some tag text");
ml.acquire();
When the asynctask stops I do a
ml.release();
我還必須包括以下AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
「我發現有些手機完全不支持UDP多播」。參考? – Houf 2013-03-04 01:07:37