Android Wifi Direct : Avoiding user acceptance when connecting to a known peer

标签 android user-permissions wifi-direct

使用 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/

相关文章:

android - 我如何开发 Android 应用程序以在不同的屏幕分辨率下工作

android - 带有很长字符串的 TextView.setText() 会阻塞 UI 线程

android - 错误 - 请让您的 Activity 为共享模式扩展 XWalkActivity

android -\intermediates\proguard-rules\release\aapt_rules.txt(系统找不到指定的路径)

android直接移植wifi

ios - 如果用户第一次拒绝 swift,如何再次请求权限(RunTime)

Android M 用户权限错误 - 读写

MySQL授予数据库除一张表之外的所有权限

java - 如何使用 Android 2.36 (Gingerbread) 开发/编码 WIFI Direct?

java - 提高java/android中TCP套接字的传输速度