使用 WiFi Direct 连接到对等点时,需要用户许可。我知道如果没有用户从未给予许可,就无法建立连接,并且对这种功能有一个功能请求: https://code.google.com/p/android/issues/detail?id=30880
但我不需要这个功能,在第一次连接时请求许可就可以(也更安全)。是否有任何方法可以仅在第一次请求许可?并且稍后尝试连接到同一个对等方时,不需要权限。
最佳答案
从 P2P 规范中,我们可以找到一种叫做“持久 P2P 组”的东西,它旨在在没有用户干预的情况下重新建立一个组。
在持久 P2P 组中,组所有者存储组的凭据,以便将来可以根据任何组成员的请求重新建立该组,而无需用户干预。
这样的组可以通过在使用命令行连接时指定持久性来形成(参见wpa_supplicant
的P2P并搜索p2p_connect
命令https://android.googlesource.com/platform/external/wpa_supplicant_8/+/ics-plus-aosp/wpa_supplicant/README-P2P)。但我不知道该选项是否适用于当前设备。
编辑: 查看问题的答案 Can I change the group owner in a persistent group in Wi-Fi Direct?
由于我在 Ubuntu 上使用 Wi-Fi Direct,因此我使用 wpa_cli
(与 wpa_supplicant
一起提供)来创建一个在 中指定的持久组p2p_readme
文件。
关于Android Wifi Direct : Avoiding user acceptance when connecting to a known peer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13931671/