2013-03-17 51 views
7

發現服務會導致系統崩潰。我正在嘗試的發現類型是Nsd Manager Android 4.2.2崩潰

「_http._tcp。」

這是日誌。

 
D/NsdService(13310): Discover services 
E/AndroidRuntime(13310): *** FATAL EXCEPTION IN SYSTEM PROCESS: NsdService 
E/AndroidRuntime(13310): java.lang.NullPointerException 
E/AndroidRuntime(13310): at com.android.server.NsdService$ClientInfo.access$1200(NsdService.java:801) 
E/AndroidRuntime(13310): at com.android.server.NsdService$NsdStateMachine$EnabledState.requestLimitReached(NsdService.java:244) 
E/AndroidRuntime(13310): at com.android.server.NsdService$NsdStateMachine$EnabledState.processMessage(NsdService.java:292) 
E/AndroidRuntime(13310): at com.android.internal.util.StateMachine$SmHandler.processMsg(StateMachine.java:905) 
E/AndroidRuntime(13310): at com.android.internal.util.StateMachine$SmHandler.handleMessage(StateMachine.java:760) 
E/AndroidRuntime(13310): at android.os.Handler.dispatchMessage(Handler.java:99) 
E/AndroidRuntime(13310): at android.os.Looper.loop(Looper.java:137) 
E/AndroidRuntime(13310): at android.os.HandlerThread.run(HandlerThread.java:60) 

,我使用的發現開始的代碼是

 
NsdManager nsd = (NsdManager) getSystemService(Context.NSD_SERVICE); 
nsd.discoverServices("_http._tcp.", NsdManager.PROTOCOL_DNS_SD, discoveryListener); 

當我跑,我的手機重新啓動每次。我猜這是Android 4.2.2上的一個錯誤

回答

6

我在Nexus 7上得到它。看起來它已經被報告爲一個錯誤。

http://code.google.com/p/android/issues/detail?id=35585

+2

最好的事情是隻使用JmDns。它可以與幾乎所有Android設備回溯到API 7(可能更早)。 – djunod 2013-08-04 04:48:29

+0

我喜歡jmdns,並在之前開發過它。 – 2014-02-26 06:12:53

+0

JmDNS在Android 5上失敗。但NSD也行爲不當。 – 2014-12-18 03:40:46