使用wifi直接监控传入的wifi p2p连接

时间:2014-06-11 14:41:29

标签: android connection wifi-direct

我正在寻找一种方法来监控群组所有者方面任何新的传入WiFi p2p连接,无论何时群组已经存在。 我的意思是,假设我们有一个由两个设备组成的组,D1(作为组所有者)和D2(作为客户端)。 第三设备D3想要将现有组加入为客户端。 因此,它(D3)调用connect()方法"朝向" D1。 现在D1应该添加D3。 哪个通知告诉我所有内容都已正确完成(在群组所有者方面)? 我知道,当然,使用WIFI_P2P_CONNECTION_CHANGED_ACTION是为了通知第一次建立了新的连接。它是否对每个想要在创建组后加入该组的客户有效?

注意:我有兴趣知道群组所有者方面发生了什么,而不是客户端。

提前感谢您的时间。

1 个答案:

答案 0 :(得分:0)

是。每当客户端连接到GO时,GO将收到 WIFI_P2P_CONNECTION_CHANGED_ACTION

实际上,我用这样的过滤器注册broadcastReceiver,并监控我的D1(作为组所有者)

IntentFilter filter = new IntentFilter();
filter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
filter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION);
filter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
filter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION);

当第一个客户来时,GO收到的触发ACTION序列是

WIFI_P2P_THIS_DEVICE_CHANGED_ACTION
WIFI_P2P_PEERS_CHANGED_ACTION   
WIFI_P2P_CONNECTION_CHANGED_ACTION

当第二个来时,序列是

WIFI_P2P_PEERS_CHANGED_ACTION   
WIFI_P2P_CONNECTION_CHANGED_ACTION