我使用以下代码读取连接的设备ip地址如何获取通过手机连接的设备数量,但我得到的列表是错误的,即列表显示了连接到热点但当前已断开连接的早期设备。有没有其他方法可以更新列表。或者如何刷新/proc/net/arp文件以获取最新列表
也阅读这是有关arp在linux上,但不找到出路。
这对我来说很有效,它将显示没有连接的设备及其mac地址
public int getClientList() {
int macCount = 0;
BufferedReader br = null;
String flushCmd = "sh ip -s -s neigh flush all";
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec(flushCmd, null, new File("/proc/net"));
} catch (IOException e) {
e.printStackTrace();
}
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) {
}
return macCount;
}
试试这个
我想检索连接到智能手机WiFi热点的所有设备的IP地址。在Android 10及以下版本中,我能够通过执行以下代码获得此列表: 然而,在Android 11中,IP命令似乎不再有效(https://developer.android.com/training/articles/user-data-ids#mac-11岁以上) 在Android11中,有没有其他方法可以获取已连接客户端的IP地址?
我们可以从adb shell获取连接到android设备的设备列表吗?
我如何获得Android所有已连接蓝牙设备的列表,而不考虑配置文件? 或者,我看到您可以通过BluetoothManager获取特定配置文件的所有连接设备。获取连接的设备。 我想我可以通过ACTION_ACL_CONNECTED/ACTION_ACL_DISCONNECTED监听连接/断开来查看哪些设备连接...似乎容易出错。 但我想知道是否有更简单的方法来获取所有已连接蓝牙设备的列表。
我可以通过调用来获取内部存储,它返回内部存储的路径。 这方面的任何帮助都将非常感谢,因为没有一个标准的AFAIK可以用来检索所有连接的存储设备的列表。 还有,很多解决方案在不同的设备和Android版本上不起作用。
当使用P2P_STAR时,由于此拓扑使用Wi-Fi热点,设备的最大数量为10个。也就是说,如果您没有路由器。 这让我不禁要问两个问题: 我知道附近的连接使用BLE、蓝牙和Wi-Fi直接连接。我知道蓝牙有一个最大的理论数量~7个设备,这是3-4个真正的连接。我知道Wi-Fi热点最多有10个连接。我知道BLE最多可以容纳20个理论连接(虽然不知道真正连接的数量)。如果BLE(理论上)可以拥有20个连接
问题内容: 我想创建模块自动更新USB设备列表(不仅是大容量存储)。现在它的工作非常不礼貌- 它具有附加线程,该线程在1秒钟后更新了设备列表。但是也许您知道如何处理一些插件事件,这些事件会生成OS(例如Windows XP及更高版本),或者通过另一种方式简化此过程。感谢您的时间! 问题答案: 这个问题似乎是一半的设计,一半的实现。似乎您最担心要为Java USB服务(例如jUSB)找到某种方式来服