我正在向远程发送 UDP 数据包,我想知道将用于此的本地接口的 IP。在外壳中我会运行:
ip route get 192.168.1.54
它会回答类似:
192.168.1.12 dev wlan0 table local_network src 192.168.1.1
我有兴趣在哪里获得src
: 192.168.1.1
。
我可以通过这样调用来做到这exec
一点:
Runtime.getRuntime().exec("ip route get 192.168.1.54")
但这似乎不是很优雅,我不知道哪些设备支持它(它适用于其中一些设备,而其他设备则返回错误代码“1”,尽管该命令适用于adb shell
)。
有没有办法用 Android SDK 做到这一点?我看了看,ConnectivityManager
但找不到方法...