Java 网络状态发生变化时的广播意图

Java 网络状态发生变化时的广播意图,java,android,broadcastreceiver,Java,Android,Broadcastreceiver,当网络状态发生变化(即从GSM到Wifi)时,Android是否会广播意图?如果是这样的话,我需要什么样的权限以及意图操作的名称是什么?当设备启动时,Android将广播WifiManager.NETWORK\u STATE\u更改\u action 获得或失去wifi连接。您需要权限android.permission.ACCESS\u WIFI\u STATE才能接收意图。但是,我不确定 GSM->WIFI也有类似的功能。更新:请改用此功能:没有与您描述的内容完全相同的功能,但您可以使用Co

当网络状态发生变化(即从GSM到Wifi)时,Android是否会广播意图?如果是这样的话,我需要什么样的权限以及意图操作的名称是什么?

当设备启动时,Android将广播
WifiManager.NETWORK\u STATE\u更改\u action
获得或失去wifi连接。您需要权限
android.permission.ACCESS\u WIFI\u STATE
才能接收意图。但是,我不确定
GSM->WIFI也有类似的功能。

更新:请改用此功能:

没有与您描述的内容完全相同的功能,但您可以使用
ConnectivityManager.CONNECTIVITY\u ACTION
监视更改,并使用附带的附加功能查看连接是否已从GSM更改为WIFI,以及反之亦然。为此,您需要权限
android.permission.ACCESS\u NETWORK\u STATE
android.permission.ACCESS\u WIFI\u STATE
来检查WIFI信息。

我不熟悉这个主题,但Defcon的一次谈话指出了这个答案中的一个错误。请参见第页的幻灯片51。有人可以相应地更新此吗?已修复。谢谢你让我知道。我不知道这个答案和这个问题有什么关系。网络连接可能会从手机网络变成蓝牙连接,代码永远不会知道。请不要用这个。AI关于ConnectivityManager.CONNECTIVITY_操作的回答指向了正确的方向。我不明白为什么CONNECTIVITY_操作不是所要求的。另外,就个人而言,我不需要android.permission.ACCESS\u WIFI\u状态来接收连接\u操作事件。除此之外。。。感谢您为问题提供了正确答案!在问题中,WiFi只是作为一个例子提到的。问题是指一般的网络状态,与特定的WiFi连接无关。