Android Wifi Direct:连接到已知对等端时,避免用户接受

使用WiFi Direct连接到对等端时,需要用户的许可。 我知道如果没有用户永远不会给予许可,就无法建立连接,并且有针对此类function的function请求: https : //code.google.com/p/android/issues/detail?id = 30880

但是我不需要这个function,在第一个连接上请求权限就可以了(也更安全)。 有没有任何方法只允许第一次获得许可? 当稍后尝试连接到同一个对等体时,不需要该权限。

    从P2P规范中我们可以find一种称为“持久P2P组”的东西,它旨在重新建立一个没有用户干预的组。

    在持久的P2P组中,组所有者存储组的凭证,以便将来可以通过任何组成员的请求重新建立组,而无需用户干预。

    这样的组可以通过在使用命令行连接时指定持久性来形成(参见wpa_supplicant的P2P并搜索p2p_connect命令https://android.googlesource.com/platform/external/wpa_supplicant_8/+/ics-plus-aosp/wpa_supplicant / README-P2P )。 但我不知道该选项是否适用于当前设备。

    编辑:查看问题的答案我可以更改Wi-Fi Direct中持久群组中的群组所有者吗?

    由于我在Ubuntu上使用Wi-Fi Direct,我使用了wpa_cli (与wpa_supplicant一起提供)来创建p2p_readme文件中指定的持久组。

    最接近Wi-Fi Directfunction但没有我提供的提示是使用Service Discovery结合传统模式,即当连接发生时,你不使用WifiP2pManager.connect()但是WifiManager.enableNetwork( )而不是。

    我是一个非常简单的P2P堆栈的作者,可以自动化所有魔法,你可以查看https://github.com/croconaut/wifon-mini上的一个例子,看看它的工作原理有多好(另外还有一些文档) 。

    不幸的是,不是在这个时候。 也许在将来,或者如果你自己编写ROM。

    我正在使用两台HTC One V和一台HTC One X +。 我一直在运行Android提供的WifiDirectDemo。 除了切换Wifi Direct外,无需其他设置。 我只需按下应用程序中的搜索按钮即可列出对等项。

    我刚开始认为我需要其他设备权限,如您所述,每次我在设备上安装应用程序时都需要重新启用它。 但这是在我注意到应用程序中的搜索按钮之前,并意识到这不是必需的。

    你能和我犯同样的错吗?

    它可以通过reflection方法。