以下方法相当于在命令行调用ifconfig再解析字符串,成功率较高。本人在Android 9.0 TV 下测试可用。
步骤如下:
1. Android Manifest中添加INTERNET的权限
<uses-permission android:name="android.permission.INTERNET"/>
2. Runtime.getRuntime().exec(new String[] { "ifconfig" }),再解析结果
try {
Process process = Runtime.getRuntime().exec(new String[] { "ifconfig" });
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
do {
String line = bufferedReader.readLine();
Log.d(TAG, "onCreate: "+line); // 按行打印结果
if (line == null) {
break;
}
} while (true);
} catch (IOException e) {
e.printStackTrace();
}