Android 如何检测设备何时获得新IP?

Android 如何检测设备何时获得新IP?,android,ip,dhcp,Android,Ip,Dhcp,出于多播目的,我正在寻找一种简单的方法来检测Android设备的IP何时发生变化。我怎样才能这样做呢 更具体地说,我希望检测: 当设备连接到新的Wifi网络并从DHCP获取IP时 当设备因某种原因需要更新IP时 您可以通过以下方式完成此操作: 您可以使用此选项查询当前连接状态: ConnectivityManager connMananger = (ConnectivityManager) context.getSystemService(Context.CONNEC

出于多播目的,我正在寻找一种简单的方法来检测Android设备的IP何时发生变化。我怎样才能这样做呢

更具体地说,我希望检测:

  • 当设备连接到新的Wifi网络并从DHCP获取IP时
  • 当设备因某种原因需要更新IP时
您可以通过以下方式完成此操作:

您可以使用此选项查询当前连接状态:

ConnectivityManager connMananger = (ConnectivityManager) 
            context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo netInfo = connMananger.getActiveNetworkInfo();
网络接口的当前IP地址可以通过


您还可以通过

自动收到连接状态更改的通知。但是,这种广播是只在IP发生变化时才会发生,还是会有很多不同的事情触发它?它可以由连接的任何变化触发,但我认为应该有一些额外的检查,或者您可以检测NetworkInfo/NetworkInterface对象之间的差异连接性\u操作:“此常量在API级别28中已被弃用。”