diff --git a/libraries/mogo-telematic/src/main/java/com/mogo/telematic/client/NsdClient.java b/libraries/mogo-telematic/src/main/java/com/mogo/telematic/client/NsdClient.java index 0c75dad..15fd17e 100644 --- a/libraries/mogo-telematic/src/main/java/com/mogo/telematic/client/NsdClient.java +++ b/libraries/mogo-telematic/src/main/java/com/mogo/telematic/client/NsdClient.java @@ -21,7 +21,6 @@ public class NsdClient { private final String NSD_SERVER_TYPE = "_http._tcp."; private NsdManager.DiscoveryListener mDiscoveryListener; - private NsdManager.ResolveListener mResolverListener; private NsdManager mNsdManager; private Context mContext; private String mServiceName; @@ -57,7 +56,6 @@ public class NsdClient { mNsdManager = (NsdManager) mContext.getSystemService(Context.NSD_SERVICE); initializeDiscoveryListener(); mNsdManager.discoverServices(NSD_SERVER_TYPE, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener); - initializeResolveListener(); } /** @@ -97,12 +95,11 @@ public class NsdClient { Log.e(TAG, "onServiceFound()"); //根据咱服务器的定义名称,指定解析该 NsdServiceInfo if (serviceInfo.getServiceName().equals(mServiceName)) { - mNsdManager.resolveService(serviceInfo, mResolverListener); + mNsdManager.resolveService(serviceInfo, getResolveListener()); } else { mHandler.sendEmptyMessage(MSG_NULL); } mNsdServiceInfoListBefore.add(serviceInfo); - } @Override @@ -139,8 +136,8 @@ public class NsdClient { /** * 解析未 调用未被解析的 NsdServiceInfo */ - private void initializeResolveListener() { - mResolverListener = new NsdManager.ResolveListener() { + private NsdManager.ResolveListener getResolveListener() { + return new NsdManager.ResolveListener() { @Override public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) { Log.e(TAG, "onResolveFailed()");