我已经成功地在 Android 中使用 Wi-Fi Direct 连接了两台设备,并在它们之间传递了数据。
我的测试应用程序大致基于 Wi-Fi Direct 服务发现示例 ( https://android.googlesource.com/platform/development/+/master/samples/WiFiDirectServiceDiscovery )的源代码
当应用程序启动时,我可以在可以连接的可能设备列表中看到我所有的三台设备(三星 Galaxy S2、三星 Galaxy S4 和 Google Nexus 7 用于测试)。
如果我从我的 S2 连接到我的 S4,他们可以毫无问题地进行通信。如果我然后尝试连接我的 Nexus 7,它可以连接到我的 S2(S4 不再可用)它可以与 S2 通信,但是从 S4 看不到数据,也看不到在 S2 和 S4 之间发送的数据从 Nexus 7 可以看出。
我试图详细说明在连接期间更改 groupOwnerIntent :
WifiP2pConfig config = new WifiP2pConfig();
config.deviceAddress = service.device.deviceAddress;
config.wps.setup = WpsInfo.PBC;
config.groupOwnerIntent = 0; // 0 for first connect/groupOwner and 15 otherwise
不幸的是,当更改 groupOwnerIntent 时,通信不再起作用,甚至在两个设备之间也不起作用。
有没有人让这个工作,并且可以提供任何关于如何解决这个问题的提示?