Gre*_*sel 8 android bonjour android-wifi wifi-direct
我正在尝试实现一个简单的Android应用程序,它在一台设备上广播WifiP2p bonjour服务,并让第二台设备发现并连接到它.我几乎遵循了这里的教程.
我有一个有效的Channel对象,a DnsSdServiceResponseListener和a DnsSdTxtRecordListener,并通过此调用设置它们:
mManager.setDnsSdResponseListeners(channel, servListener, txtListener);
Run Code Online (Sandbox Code Playgroud)
截至目前,两位听众只是吐出一些调试信息以保持简单.
问题是我DnsSdServiceResponseListener从未被调用过,但DnsSdTxtRecordListener 确实被调用了,所有传入的参数看起来都是合法的.如何调用一个而不是另一个?
我正在测试使用两个实际设备,都运行android 4.2.2.
谢谢!
Gre*_*sel 12
终于想通了..有点儿.获取服务请求的实例时,我指定了服务实例名称和类型以匹配创建服务时使用的值...
注册服务:
mServiceInfo = WifiP2pDnsSdServiceInfo.newInstance(Consts.SERVICE_INSTANCE, Consts.SERVICE_REG_TYPE, record);
创建服务请求:
mServiceRequest = WifiP2pDnsSdServiceRequest.newInstance(Consts.SERVICE_INSTANCE, Consts.SERVICE_REG_TYPE);
获取服务请求时,我删除了newInstance方法的参数...
mServiceRequest = WifiP2pDnsSdServiceRequest.newInstance();
现在正在调用两个听众.似乎我的第一种方法会过滤掉附近广播的其他服务,这就是为什么我最初选择了这种超载.
| 归档时间: |
|
| 查看次数: |
3808 次 |
| 最近记录: |