gpt4 book ai didi

android - 获取未连接的设备,当我的设备处于网络共享模式时

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:39 26 4
gpt4 key购买 nike

我正在使用此代码激活网络共享模式:

private void setWifiTetheringEnabled(boolean enable) {
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);

Method[] methods = wifiManager.getClass().getDeclaredMethods();
for (Method method : methods) {
Log.e("teste", method.getName());
if (method.getName().equals("setWifiApEnabled")) {
try {
method.invoke(wifiManager, null, enable);
} catch (Exception ex) {
}
break;
}
}
}

我正在使用此代码连接设备(并读取信息)

   br = new BufferedReader(new FileReader("/proc/net/arp"));

但是在这个文件 (/proc/net/arp) 中只有连接的设备,我想获得一些关于刚刚在网络共享模式下扫描我手机的设备的信息(Mac 地址)。

执行 ntcfg 我的返回:

 04-10 10:32:27.908: E/test(18908): dummy0   DOWN                                   0.0.0.0/0   0x00000082 xx:xx:b6:69:37:4e
04-10 10:32:27.908: E/test(18908): wlan0 UP 192.168.43.1/24 0x00001043 xx:xx:11:f9:a9:45
04-10 10:32:27.908: E/test(18908): rmnet_usb0 UP 100.107.189.66/30 0x00000041 00:00:00:00:00:00
04-10 10:32:27.908: E/test(18908): rmnet_usb1 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
04-10 10:32:27.908: E/test(18908): rmnet_usb2 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
04-10 10:32:27.908: E/test(18908): rmnet_usb3 DOWN 0.0.0.0/0 0x00000000 00:00:00:00:00:00
04-10 10:32:27.908: E/test(18908): lo UP 127.0.0.1/8 0x00000049 00:00:00:00:00:00
04-10 10:32:27.908: E/test(18908): sit0 DOWN 0.0.0.0/0 0x00000080 00:00:00:00:00:00
04-10 10:32:27.908: E/test(18908): rmnet_smux0 DOWN 0.0.0.0/0 0x00001002 xx:6f:06:64:e2:61
04-10 10:32:27.908: E/test(18908): rmnet0 DOWN 0.0.0.0/0 0x00001002 xx:xx:a4:fe:a4:e5
04-10 10:32:27.908: E/test(18908): rmnet1 DOWN 0.0.0.0/0 0x00001002 xx:x:68:34:70:29
04-10 10:32:27.908: E/test(18908): rmnet2 DOWN 0.0.0.0/0 0x00001002 xx:xx:ac:a5:b3:a1
04-10 10:32:27.908: E/test(18908): rmnet3 DOWN 0.0.0.0/0 0x00001002 xx:xx:1b:af:02:fe
04-10 10:32:27.908: E/test(18908): rmnet4 DOWN 0.0.0.0/0 0x00001002 xx:xx:32:79:22:e7
04-10 10:32:27.908: E/test(18908): rmnet5 DOWN 0.0.0.0/0 0x00001002 xx:xx:9b:4c:93:c5
04-10 10:32:27.908: E/test(18908): rmnet6 DOWN 0.0.0.0/0 0x00001002 xx:xx:1a:1e:86:e8
04-10 10:32:27.908: E/test(18908): rmnet7 DOWN 0.0.0.0/0 0x00001002 xx:xx:46:f0:c5:48
04-10 10:32:27.908: E/test(18908): rev_rmnet2 DOWN 0.0.0.0/0 0x00001002 xx:xx:98:22:6f:fb
04-10 10:32:27.908: E/test(18908): rev_rmnet3 DOWN 0.0.0.0/0 0x00001002 xx:xx:8d:bf:3e:50
04-10 10:32:27.908: E/test(18908): rev_rmnet4 DOWN 0.0.0.0/0 0x00001002 xx:xx:f4:c0:81:ae
04-10 10:32:27.908: E/test(18908): rev_rmnet5 DOWN 0.0.0.0/0 0x00001002 xx:xx:29:94:d5:e5
04-10 10:32:27.908: E/test(18908): rev_rmnet6 DOWN 0.0.0.0/0 0x00001002 xx:xx:41:39:44:db
04-10 10:32:27.908: E/test(18908): rev_rmnet7 DOWN 0.0.0.0/0 0x00001002 xx:xx:4b:0b:13:18
04-10 10:32:27.908: E/test(18908): rev_rmnet8 DOWN 0.0.0.0/0 0x00001002 xx:xx:64:4f:b4:f6
04-10 10:32:27.908: E/test(18908): rev_rmnet0 DOWN 0.0.0.0/0 0x00001002 xx:xx:f4:d2:ae:66
04-10 10:32:27.908: E/test(18908): rev_rmnet1 DOWN 0.0.0.0/0 0x00001002 xx:xx:8d:f0:64:2a

最佳答案

调用exec("netcfg");


/**
* Execute a command in a shell
*
* @param command
* command to execute
* @return the return of the command
*/
public String exec(String command) {
String retour = "";
try {
Runtime runtime = Runtime.getRuntime();

Process p = runtime.exec(command);

java.io.BufferedReader standardIn = new java.io.BufferedReader(
new java.io.InputStreamReader(p.getInputStream()));
java.io.BufferedReader errorIn = new java.io.BufferedReader(
new java.io.InputStreamReader(p.getErrorStream()));
String line = "";
while ((line = standardIn.readLine()) != null) {
retour += line + "\n";
}
while ((line = errorIn.readLine()) != null) {
retour += line + "\n";
}
} catch (java.io.IOException e) {
e.printStackTrace();
}

return retour;
}

它将在 shell 中执行“netcfg”命令并​​产生如下输出

lo       UP           127.0.0.1/8   0x00000049  00:00:00:00:00:00

sit0 DOWN 0.0.0.0/0 0x00000080 00:00:00:00:00:00

eth0 UP 0.0.0.0/0 0x00001003 78:c5:e5:a2:b2:d0

wlan0 DOWN 0.0.0.0/0 0x00001002 64:70:02:20:79:31

包括连接的网络接口(interface)、状态、获得的IP和MAC地址

最后一个字段是 MAC 地址。您必须从这个字符串中解析 MAC 地址。

关于android - 获取未连接的设备,当我的设备处于网络共享模式时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29399641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com