侦听器已在使用中(服务发现) [英] Listener already in use (Service Discovery)

查看:237
本文介绍了侦听器已在使用中(服务发现)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法解决一项服务,而另一项正在解决?如果那是错误的意思,那么等待解决该问题的方法是什么?

I can't resolve one service while another is being resolved? If that's what the error means... What is the way to wait until it is resolved?

@Override
public void onServiceFound(NsdServiceInfo service) {
    Log.d(TAG, "Service found. " + service);
    if (service.getServiceType().equals(SERVICE_TYPE)) {
        if (service.getServiceName().contains(mServiceName)) {
            mNsdManager.resolveService(service, mResolveListener);
        }
    }
}

java.lang.IllegalArgumentException:侦听器已在使用android.net.nsd.NsdManager.resolveService(NsdManager.java:613)在com.example.miguel.broadcast.LocalService $ 2.onServiceFound(LocalService.java:145)

java.lang.IllegalArgumentException: listener already in use at android.net.nsd.NsdManager.resolveService(NsdManager.java:613) at com.example.miguel.broadcast.LocalService$2.onServiceFound(LocalService.java:145)

推荐答案

您不必等待!如果您查看javadocsresolveService(NsdServiceInfo serviceInfo,NsdManager.ResolveListener侦听器)在这里,您会注意到,对于参数侦听器,它说的是成功或失败时接收回调.不能为null.不能用于活动的服务解析."

You don't have to wait! If you look at the javadocs for resolveService(NsdServiceInfo serviceInfo, NsdManager.ResolveListener listener) here you'll notice that for the parameter listener it say's "to receive callback upon success or failure. Cannot be null. Cannot be in use for an active service resolution."

因此,要使其正常工作,请执行以下操作:

Therefore in order for this to work just do the following:

mNsdManager.resolveService(service, new MyResolveListener());

MyResolveListener在哪里:

Where MyResolveListener is:

private class MyResolveListener implements NsdManager.ResolveListener {
        @Override
        public void onResolveFailed(NsdServiceInfo serviceInfo, int errorCode) {
            //your code
        }

        @Override
        public void onServiceResolved(NsdServiceInfo serviceInfo) {
            //your code
        }
    }

希望这会有所帮助:)

这篇关于侦听器已在使用中(服务发现)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆