我正在测试新技术 wifi direct,我在使用时遇到了一些问题 android-sdk 附带的示例中的 wifi 直接演示。
所以,我有两台设备 A 和 B,都装有 android 4.0.3。
首先,我从设备 A 向 B 发送了一个文件。没有问题,B 收到文件。
然后A与B断开连接。
现在,我尝试从设备 B 向 A 发送文件。
但是接收文件的设备是B,而不是A。
要修复,我需要关闭并打开两个设备...
此外,有时当我点击断开连接并尝试 再次连接,连接失败,我必须禁用和 启用 wifi 直连...
还有其他人遇到过这种情况吗?
是因为新技术还不成熟还是可能 我的构建/驱动程序/等有问题或者这个演示应用程序有问题 不支持双向分享。 任何想法和/或解释将不胜感激。
最佳答案
当为 connect()
函数提供一个 WifiP2pConfig
实例时,您可以设置此配置对象的 groupOwnerIntent
属性,如下所示:
WifiP2pConfig config = new WifiP2pConfig();
config.deviceAddress = "..."; // insert ip here
config.groupOwnerIntent = 0;
config.wps.setup = WpsInfo.PBC;
manager.connect(..., config, ...);
This (the groupOwnerIntent) is an integer value between 0 and 15 where 0 indicates the least inclination to be a group owner and 15 indicates the highest inclination to be a group owner.
此外,该演示可能会重复将文件发送到同一台设备,因为总是与从以下位置获得的 ip 地址建立套接字连接:
WifiP2pInfo.groupOwnerAddress
如果您想支持双向通信,设置的第一步是将非群组所有者的 IP 地址发送给群组所有者。
就断开/重新连接问题而言,我似乎与 Android 4.0.2 设备存在同样的不一致。
关于Android WiFi Direct 演示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9310684/