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

在使用WiFi Direct连接到对等端时,需要用户的许可。 我知道,如果没有用户从不授予权限,就无法build立连接,并且有这种function的function请求: https : //code.google.com/p/android/issues/detail?id=30880

但是我不需要这个function,要求在第一个连接上的权限是OK的(也更安全)。 有没有什么方法只是第一次被要求许可? 而当以后尝试连接到相同的对等,权限不是必需的。

  • Android:如何获得当前设备的WiFi直接名称
  • Android iOS直接通信(蓝牙)。 可能吗?
  • 获取WiFi设备的直连IP地址
  • 如何估计两个Android设备之间的距离? (蓝牙首选)
  • 通过Wi-Fi Direct进行广播
  • 如何在Wi-Fi Direct场景中获取每个设备的IP地址?
  • 如何更改WiFi直接p2p的设备名称?
  • 是否有可能从程序中删除记忆的Wifi Direct组?
  • 从P2P规范中,我们可以find一个名为“持久性P2P组”的东西,它意在重新build立一个组,而不需要用户干预。

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

    这样的一个组可以通过使用命令行连接时指定持久性来形成(参见wpa_supplicant的P2P并searchp2p_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 )创build了一个持久组,如p2p_readme文件中所指定的p2p_readme

    Wi-Fi Directfunction最接近的一点是,我已经pipe理的服务发现与传统模式相结合,即当连接应该发生时,不使用WifiP2pManager.connect(),而使用WifiManager.enableNetwork )来代替。

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

    不幸的是,目前还没有。 也许在将来,或者如果你写自己的ROM。

    我使用两个HTC One V以及一个HTC One X +。 我一直在运行由Android给出的WifiDirectDemo。 除了直接打开Wifi直接,不需要其他设置。 我只需按下应用程序中的searchbutton,即可列出相应的对象。

    我首先想到的是我需要另外一个设备权限,正如你所描述的那样,每次我在我的设备上安装应用程序时都需要重新启用它。 但是这是在我注意到应用程序中的searchbutton之前,并且意识到这不是必需的。

    你能和我犯同样的错误吗?

    它可能通过reflection方法。