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
JmDnsを使用することをお勧めします。これは、ほとんどすべてのAndroidデバイスがAPI 7に戻って動作します(おそらくそれ以前)。 – djunod
私はjmdnsが好きで、以前はそれに取り組んできました。 –
Android 5ではJmDNSが失敗します。しかし、NSDは誤動作しています。 –