【问题标题】:Automatic authentication for Android WiFi DirectAndroid WiFi Direct 的自动身份验证
【发布时间】:2012-03-01 15:20:27
【问题描述】:

在 Android ICS 中,提供了 Wireless P2P (WiFi Direct) API。

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

根据 SDK 文档,我必须执行以下步骤:

  1. 从设置中打开 WiFi Direct。
  2. 初始化 P2P 连接。 - 初始化()
  3. 发现同行。 -discoverPeers()
  4. 查看 MAC 地址是否匹配。
  5. 连接到发现的对等体。 - 连接()

一旦调用connect() API,远端手机会弹出一个连接认证对话框。 (取决于 WifiP2pConfig)

是否有自动连接,无需 Farside 弹出对话框?

【问题讨论】:

  • 我有同样的问题,我不知道他们为什么没有在设置中实现一个选项。

标签: android p2p


【解决方案1】:

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

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

【讨论】:

  • 自动身份验证存在安全风险。攻击者可以在用户不集中注意力的情况下自动连接到“无辜”电话。
【解决方案2】:

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

【讨论】:

  • 这是一个很棒的发现,有没有人尝试过这种方法,他们能描述一下在标准的现代 Android 上的体验吗?我将在今天晚些时候尝试一下,但在我开始之前非常好奇。
猜你喜欢
  • 1970-01-01
  • 2015-08-10
  • 1970-01-01
  • 2013-04-30
  • 2020-04-01
  • 2022-12-10
  • 2020-04-06
  • 2011-01-30
  • 1970-01-01
相关资源
最近更新 更多