サービスを検出すると、システムがクラッシュします。私が試している発見のタイプは
「_http._tcp。」
これがログです。
D / NsdService(13310):サービスの検出 E / AndroidRuntime(13310):***システムプロセスの致命的な例外:NsdService E / AndroidRuntime(13310):java.lang.NullPointerException E / AndroidRuntime(13310):com.android.server.NsdService $ ClientInfo.access $ 1200(NsdService.java:801) E / AndroidRuntime(13310):com.android.server.NsdService $ NsdStateMachine $ EnabledState.requestLimitReached(NsdService.java:244) E / AndroidRuntime(13310):com.android.server.NsdService $ NsdStateMachine $ EnabledState.processMessage(NsdService.java:292) E / AndroidRuntime(13310):com.android.internal.util.StateMachine $ SmHandler.processMsg(StateMachine.java:905) E / AndroidRuntime(13310):com.android.internal.util.StateMachine $ SmHandler.handleMessage(StateMachine.java:760) E / AndroidRuntime(13310):android.os.Handler.dispatchMessage(Handler.java:99)で E / AndroidRuntime(13310):android.os.Looper.loop(Looper.java:137)で E / AndroidRuntime(13310):android.os.HandlerThread.run(HandlerThread.java:60)で
検出を開始するために使用するコードは
NsdManager nsd =(NsdManager)getSystemService(Context.NSD_SERVICE); nsd.discoverServices( "_ http._tcp。"、NsdManager.PROTOCOL_DNS_SD、discoveryListener);
実行すると、電話は毎回再起動します。これはAndroid4.2.2のバグだと思います