当前位置: 首页 > 知识库问答 >
问题:

连接的热点设备列表

壤驷坚
2023-03-14

我想检索连接到智能手机WiFi热点的所有设备的IP地址。在Android 10及以下版本中,我能够通过执行以下代码获得此列表:

Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("ip neigh show");
proc.waitFor();
int exit = proc.exitValue();
InputStreamReader reader = new InputStreamReader(proc.getInputStream());
BufferedReader buffer = new BufferedReader(reader);
String line;
while ((line = buffer.readLine()) != null) {
     String[] splits = line.split(" ");
     if (splits.length < 4) {
         continue;
     }
     if(!splits[0].contains("192.168.43.")) {
         Log.d("IP", splits[0]);
         continue;
     }
}

然而,在Android 11中,IP命令似乎不再有效(https://developer.android.com/training/articles/user-data-ids#mac-11岁以上)

The ip command does not return information about interfaces.

在Android11中,有没有其他方法可以获取已连接客户端的IP地址?

共有1个答案

赵越
2023-03-14

就在今天早上,我在Android11手机上使用Termux应用程序尝试了“ip neigh show”命令,它成功了,并给出了邻居的结果。。。。

 类似资料:
  • 我使用以下代码读取连接的设备ip地址如何获取通过手机连接的设备数量,但我得到的列表是错误的,即列表显示了连接到热点但当前已断开连接的早期设备。有没有其他方法可以更新列表。或者如何刷新/proc/net/arp文件以获取最新列表 也阅读这是有关arp在linux上,但不找到出路。

  • 我是低功耗蓝牙 (LE) API 的新手。有没有办法检查Android设备当前是否连接到任何蓝牙LE设备,并可能获得这些设备的列表? BT-LE设备真的“连接”了吗?我注意到当我的智能手表与我的Nexus 5配对/连接时,状态栏(在KitKat上)中的蓝牙图标不会像连接到经典蓝牙设备时那样变成白色/粗体。 我在经典设备上使用了下面的代码。看起来我可以用相同的方式检查GATT和GATT_SERVER

  • 我们可以从adb shell获取连接到android设备的设备列表吗?

  • 本文向大家介绍Android 通过代码设置、打开wifi热点及热点连接的实现代码,包括了Android 通过代码设置、打开wifi热点及热点连接的实现代码的使用技巧和注意事项,需要的朋友参考一下 用过快牙的朋友应该知道它们在两天设备之间传输文件的时候使用的是wifi热点,然后另一台便连接这个热点再进行传输。快牙传输速度惊人应该跟它的这种机制有关系吧。不知道它的搜索机制是怎样的,但我想应该可以通过热

  • 我可以通过调用来获取内部存储,它返回内部存储的路径。 这方面的任何帮助都将非常感谢,因为没有一个标准的AFAIK可以用来检索所有连接的存储设备的列表。 还有,很多解决方案在不同的设备和Android版本上不起作用。

  • 连接设备 接口说明 用于连接 扫描出来的蓝牙设备。 参数说明 字段 类型 必须? 说明 device RKBLEDevice 是 蓝牙设备 示例代码 Swift: RokidMobileSDK.binder.connect(device: RKBLEDevice) Objc: [RokidMobileSDK.binder connect:device]; 断开设备 接口说明 用于断开已经连接的