Nsd Manager Android 4.2.2崩溃

Kum*_*bek 7 android android-nsd

发现服务会导致系统崩溃.我正在尝试的发现类型是

"_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上的一个错误

dju*_*nod 6

我在我的Nexus 7上得到它.看起来它已被报告为一个错误.

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

  • 最好的办法就是使用JmDns.它适用于几乎所有返回API 7的Android设备(可能更早). (2认同)