出于多播目的,我正在寻找一种简单的方法来检测 Android 设备的 IP 何时发生变化。我该怎么做呢?
更具体地说,我正在寻找检测:
- 当设备连接到新的 Wifi 网络并从 DHCP 获取 IP
- 当设备由于某种原因需要更新 IP 时
您可以使用ConnectivityManager执行此操作:
您可以使用它来查询当前的连接状态:
ConnectivityManager connMananger = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = connMananger.getActiveNetworkInfo();
可以通过NetworkInterface.getNetworkInterfaces()获取网络接口的当前 IP 地址
您可以通过CONNECTIVITY_ACTION 广播接收连接状态何时更改的自动通知