7
La ricerca di servizi provoca un arresto anomalo del sistema. Il tipo di scoperta che sto cercando èNsd Manager Android Crashing su 4.2.2
"_http._tcp."
Ecco il registro.
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)
Il codice che uso per iniziare la scoperta è
NsdManager nsd = (NsdManager) getSystemService(Context.NSD_SERVICE); nsd.discoverServices("_http._tcp.", NsdManager.PROTOCOL_DNS_SD, discoveryListener);
Quando eseguo, il mio telefono si riavvia ogni volta. Immagino che questo sia un bug su Android 4.2.2
La cosa migliore da fare è quella di utilizzare solo JmDns. Funziona con quasi tutti i dispositivi Android che tornano all'API 7 (probabilmente anche prima). – djunod
Mi è piaciuto jmdns e ci ho lavorato prima. –
JmDNS non funziona su Android 5. Ma anche NSD si comporta male. –