如何获取从热点(服务器)连接的设备的名称?
一个热点可以连接多台设备,但无法获取连接设备的名称,如何获取?
我可以很容易地获得IP地址,但是如何获得名称呢?
最佳答案
可以使用下面的方法,但是,这将检测到4.0及更高版本;它找不到与热点连接的2.2或2.3版本的设备。
public void getClientList() {
int macCount = 0;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
if (splitted != null ) {
// Basic sanity check
String mac = splitted[3];
System.out.println("Mac : Outside If "+ mac );
if (mac.matches("..:..:..:..:..:..")) {
macCount++;
/* ClientList.add("Client(" + macCount + ")");
IpAddr.add(splitted[0]);
HWAddr.add(splitted[3]);
Device.add(splitted[5]);*/
System.out.println("Mac : "+ mac + " IP Address : "+splitted[0] );
System.out.println("Mac_Count " + macCount + " MAC_ADDRESS "+ mac);
Toast.makeText(
getApplicationContext(),
"Mac_Count " + macCount + " MAC_ADDRESS "
+ mac, Toast.LENGTH_SHORT).show();
}
/* for (int i = 0; i < splitted.length; i++)
System.out.println("Addressssssss "+ splitted[i]);*/
}
}
} catch(Exception e) {
}
}
==>在这里检查:
检查requestPeers的WifiP2pManager
根据文档,它会查找PeerListListener,该列表返回WifiP2pDeviceList,该列表携带WifiP2pDevice的列表,该列表包含deviceAddress,deviceName,primaryDeviceType,secondaryDeviceType,status和其他属性。
关于android - 通过热点获取连接设备的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43911290/