2017-05-19 256 views
-1

我正在使用Android的两个使用WiFi p2p的设备连接。我想知道在建立连接时是否有任何方式让两台设备知道彼此的名称。当设备开始连接请求时,很容易,因为您从列表中选择对等设备,以便看到名称。问题是关注接收连接请求的设备!如何在Android中使用WifiP2P获取您的PEER的设备名称

我想它必须是可能的,因为你第一次尝试连接你看到一个弹出与对方的名称接受连接。但是我不知道在编写应用程序时可以找到这些信息。

我想它必须存储在NetworkInfo(当你收到一个状态的改变)或WifiP2pInfo(当连接信息可用时)。

回答

0

有requestConnectionInfo方法,通过这个,你可以获取有关连接deivce的所有信息简单地实现这种连接后,由像下面

wifiManager.requestConnectionInfo(wifichannel, new WifiP2pManager.ConnectionInfoListener() { 
     @Override 
     public void onConnectionInfoAvailable(WifiP2pInfo info) { 
     //by info you can get host address and isGroupowner or else information you to 
implement your code after this 
} 
+0

我已经有了这个功能,我说我需要的信息应该来自WifiP2pInfo,就像你在代码中声明的那样。但我不知道WifiP2pInfo的哪个属性会给我。 WifiP2pInfo的字段是groupFormed,groupOwnerAddress和isGroupOwner。所以没有关于同行的信息。 – BlueMountain

+0

你想要的主机地址或自己的地址 –

+0

我想要对等名称。但如果不能,地址就没问题。 – BlueMountain

2

当您收到WIFI_P2P_CONNECTION_CHANGED_ACTION广播,如果您是在API级别18或更高版本,意图中还有一个额外的名为EXTRA_WIFI_P2P_GROUP。

EXTRA_WIFI_P2P_GROUP

这会返回一个WifiP2pGroup上,您可以拨打getClientList()。这给你一个WifiP2pDevices的集合。一旦你有一个WifiP2pDevice,你可以获得“deviceName”字段。

相关问题