Android:WifiP2pManager.discoverServices不';我们不能发送UPNP数据
我正在开发一个应用程序,它使用UPNP通过UPNP发现一个电视机顶盒,以便将在设备上拍摄的照片上传到电视上 在Android:WifiP2pManager.discoverServices不';我们不能发送UPNP数据,android,upnp,Android,Upnp,我正在开发一个应用程序,它使用UPNP通过UPNP发现一个电视机顶盒,以便将在设备上拍摄的照片上传到电视上 在onCreate中,我获取管理器并初始化频道 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
onCreate
中,我获取管理器并初始化频道
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
mChannel = mManager.initialize(this, getMainLooper(), null);
mReceiver = new WiFiDirectBroadcastReceiver(mManager, mChannel);
mIntentFilter = new IntentFilter();
mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION);
mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION);
mManager.setUpnpServiceResponseListener(mChannel, new WifiP2pManager.UpnpServiceResponseListener() {
@Override
public void onUpnpServiceAvailable(List<String> uniqueServiceNames, WifiP2pDevice srcDevice) {
UpnpServices service = new UpnpServices(uniqueServiceNames, srcDevice);
mPeers.add(service);
}
});
}
LogCat中的一切似乎都很成功,但从未调用UpnpServiceResponseListener
,当我尝试嗅探网络时,我看不到任何UPNP流量-没有IGMP连接,没有SSDP,什么都没有
这里有我错过的一步吗?从我所看到的一切(包括其他),我正在做我应该做的事情
TIA希望您能提供帮助解决这个问题。如您所知,UPnP服务属于UPnP设备。因此,您需要首先获取
WifiP2pDevice
实例,然后连接/加入它
请看,android.net.wifi.p2p.WifiP2pConfig,android.net.wifi.p2p.WifiP2pManager.ActionListener)您是否已通过Wi-Fi Direct连接到电视机盒?我最终使用了UPnP库来连接。这是为了一个PoC。
private void setServiceListeners()
{
mManager.addServiceRequest(mChannel, WifiP2pServiceRequest.newInstance(WifiP2pServiceInfo.SERVICE_TYPE_UPNP), mRequestListener);
mManager.discoverServices(mChannel, mActionListener);
}