使用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 - Android Wifi Direct : Avoiding user acceptance when connecting to a known peer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13931671/