jMdns是一個偉大的Java庫,可爲您的Android應用程序提供zeroconf/bonjour功能。jmdns.jar不能在Android 4.0或更高版本上工作
我成功地在一個項目中使用這個項目,直到Android 4.0 Ice Cream Sandwich aka ICS
,一旦Android 4.0設備開始被更頻繁地使用,我正面臨着應用程序無法正常工作。在早期的Android 4.0
我已經測試過的應用程序,它告訴我的發現設備但在Android 4.0或以上後,它什麼都不顯示列表。
我已經在4.1上測試過這個演示「https://github.com/twitwi/AndroidDnssdDemo」,但它不工作。
我在"http://snctln.com/2012/08/03/jmdns-and-android-4-0/"
private android.net.wifi.WifiManager.MulticastLock lock;
private android.os.Handler handler = new android.os.Handler();
private JmDNS jmdns = null;
public WifiManager wifi;
private void setUp()
{
WifiManager wifiMgr = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiMgr.getConnectionInfo();
int ip = wifiInfo.getIpAddress();
String ipAddress = Formatter.formatIpAddress(ip);
try {
jmdns.create(_bindingAddress);
ServiceInfo[] infos = jmdns.list("_afpovertcp._tcp.local.");
for (int i=0; i < infos.length; i++) {
Log.i("Servic : ",infos[i].getName()+"");
// notifyUser("\nServic : "+infos[i].getName()+"");
}
} catch (IOException e) {
e.printStackTrace();
}
}
您的建議寫成下面根據建議提代碼是明顯的