如何在Android上使用PIN设置Wi-Fi Direct

如何在Android上使用PIN设置Wi-Fi Direct,android,wifi-direct,Android,Wifi Direct,我想要求在连接两台Android设备时输入PIN码,以确保它们彼此通话 Android SDK 17中有一个名为“WiFiDirectDemo”的示例项目。它建立了Wi-Fi直接连接,但缺少PIN认证 我不知道如何在第71行附近的类DeviceDetailFragment中指定WiFiP2pConfig.wps.setup。我是否指定当前设备上的操作(我想显示自动生成的四位PIN),I。Econfig.wps.setup=WPSInfo.DISPLAY,或者我应该在对等机上指定操作,即。Econ

我想要求在连接两台Android设备时输入PIN码,以确保它们彼此通话

Android SDK 17中有一个名为“WiFiDirectDemo”的示例项目。它建立了Wi-Fi直接连接,但缺少PIN认证

  • 我不知道如何在第71行附近的类DeviceDetailFragment中指定WiFiP2pConfig.wps.setup。我是否指定当前设备上的操作(我想显示自动生成的四位PIN),I。Econfig.wps.setup=WPSInfo.DISPLAY,或者我应该在对等机上指定操作,即。Econfig.wps.setup=WPSInfo.KEYPAD
  • 如何在另一个对等机上检测连接请求?我想我可以听一些东西,例如。G在收音机里,但我找不到

  • 我是一名经验丰富的iOS开发人员,但Android对我来说非常陌生,也许答案对你来说是显而易见的。感谢您的帮助。

    您需要在发送连接请求的设备上指定操作。。。对于pin,我认为这应该有效

    p2pconfig.wps.setup=WpsInfo.DISPLAY; p2pconfig.wps.pin=“0000”; 连接时,PIN显示在本地设备上,并请求用户在远程设备上输入相同的PIN;输入PIN后,连接将成功完成


    检查此项阅读第5篇文章

    p2pconfig.wps.setup=WpsInfo.KEYPAD(不指定p2pconfig.wps.pin)对我来说很好。它在我们尝试连接的设备上显示一个动态生成的密钥,以便在其他设备上输入


    在这种情况下,您不需要监听任何b'cast接收器来检测连接。wpa_请求者会处理它并提示您输入pin。要获得清晰的图片,请在连接过程中查看wpa_请求者的日志猫(我使用ADT(sdk+eclipse)中的adb来查看日志猫)。

    谢谢您的回复。我尝试将这两行代码添加到演示应用程序中,但它仍然连接,没有提示/显示对话框。据我所知,从您的解释和链接的论坛条目,没有其他事情可做。我发现了问题。显然,只需将设备配对一次就足够了(在我的例子中是隐式的)。只剩下一个问题:如何删除配对?如果你知道得很清楚,否则我会翻查文件。:)如果你想删除一个组,我认为wifip2pmanager中有一个名为remove group的函数,它以发生通信的通道为参数,因此,如果您从提供正确频道的组所有者设备调用此功能,则应终止组。您也可以通过转到wifi设置,点击菜单并选择“wifi Direct”手动删除组。从那里,您将看到一个所有已记住的组的列表,其中包含忘记任何组的选项。