【问题标题】:How to add a device to a WifiP2pGroup in Android如何在 Android 中将设备添加到 WifiP2pGroup
【发布时间】:2013-03-15 14:32:15
【问题描述】:

我真的很困惑......

android 文档非常好,但范围非常有限。

假设我有一个设备调用createGroup(Channel,GroupInfoListener)。当可用时,onGroupInfoAvailable(WifiP2pGroup) 会被调用。此时,组中唯一的设备是所有者。 (因为调用create group的设备是group owner)

从这里开始,组就设置好了,需要做的就是用客户端设备填充组。

我不确定它是如何从这里开始工作的,但我在想客户端可以使用joinGroup 加入群组,或者客户端可以请求加入,在这种情况下,GroupOwner 使用joinGroup 加入.问题是,没有joinGroup 方法。那么,peer 到底是如何将自己添加到组中的,或者 GroupOwner 是如何将客户端添加到组中的呢?

【问题讨论】:

标签: android android-4.0-ice-cream-sandwich wifi-direct


【解决方案1】:

您可以使用一台设备来createGroup,然后使用其他设备来discoverPeersrequestPeers

onPeersAvaiable 时,您将遍历WifiP2pDevice 并在每个设备上调用isGroupOwner 方法。

对于获得的每个群主地址,客户端将connect 给群主。

一旦建立连接,您将致电requestConnectionInfo

onConnectionInfoAvailable 时,您将检查WifiP2pInfo 对象以确保groupFormed 布尔值为真。

然后,使用groupOwnerAddressInetAddress,您可以使用Java Sockets在两者之间发送信号。

然后您可以向组所有者发送一个字符串,说“BLAH BLAH BLAH UNIQUE VALUE”。如果组所有者返回“I UNDERSTAND”,那么您知道组所有者属于您的应用程序。如果群主返回任何内容,或者没有回复,那么你就知道群主无效了。

如果您使用 API 16+,您可以使用服务发现来检查设备是否正在运行您的应用,然后连接。

【讨论】:

    猜你喜欢
    • 2015-07-02
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多