Android WiFi Direct的自动身份验证

时间:2012-02-09 05:52:47

标签: android p2p

在Android ICS中,提供无线P2P(WiFi Direct)API。

我尝试开发一个应用程序,如果MAC地址匹配,可以通过无线P2P自动连接2部手机。

从SDK文档中,我必须执行以下步骤:

  1. 从设置开启WiFi Direct。
  2. 初始化P2P连接。 - initialize()
  3. 发现同行。 - discoverPeers()
  4. 查看MAC地址是否匹配。
  5. 连接到发现的Peer。 - connect()
  6. 一旦调用connect()API,Farside手机将弹出连接验证对话框。 (取决于WifiP2pConfig)

    是否有自动连接,没有Farside弹出Dialog?

2 个答案:

答案 0 :(得分:15)

似乎无法实现身份验证对话框的自动化,这也使得p2p路由也不可能。现在,WpsInfo类(在WifiP2pConfig类中用于在对等连接期间传递到WifiP2pManager的connect()函数)仅以四种方式显示验证对话框:DISPLAY / KEYPAD / LABEL / PBC。我相信PBC(按钮配置)是默认值,是你所指的。其他三个选项要求用户输入一种类型的引脚,使其更加无法用于自动连接。也许如果我们要找到这个认证对话框类的类型,我们可以自动点击'ok'按钮?

我希望可以添加一个新选项,使应用程序能够验证连接,而不是用户。这种基于用户的身份验证看起来像是从蓝牙api继承而来,严重限制了wifi直接的有用性。也许谷歌的人可以帮助我们?

答案 1 :(得分:2)

同时情况发生了变化。您可以使用WifiP2pManager的 creategroup()全自动创建wifi直接连接,并使用 onGroupInfoAvailable()获取随机生成的密码和SSID,请参阅this descriptionexample code