我正在开发一个应用程序,我需要一个广播接收器,将监测wifi连接和断开连接的状态。我尝试了很多代码,浏览了很多stackoverflow帖子,但都没有成功。我还没有发现任何这样的方法/代码可以正常工作,一些代码根本不能工作,一些返回错误的信息,一些使广播接收器崩溃/重新启动等等。那么,从4.0.3 Icecream sandwitch开始,有没有一种完整的方法可以监控wifi连接/断开状态,适用于所有版本的android?任何帮助都将不胜感激。
发布于 2017-02-20 04:15:27
首先,您需要定义一个可以侦听网络更改事件的广播接收器。
public class NetworkChangeReceiver extends BroadcastReceiver {
public static final String TYPE_NET_CONNECTIVITY_CHANGE = "android.net.conn.CONNECTIVITY_CHANGE";
@Override
public void onReceive(final Context context, Intent intent) {
if (TYPE_NET_CONNECTIVITY_CHANGE.equals(intent.getAction())) {
boolean connected = NetworkStatus.isNetworkConnected(context);
if (connected) {
//Connected
} else {
//Disconnected
}
}
}
}
现在在清单中注册你的接收者,如下所示:
<application
...>
<receiver android:name=". NetworkChangeReceiver" >
<intent-filter>
<action android:name="android.net.wifi.WifiManager.WIFI_STATE_CHANGED_ACTION" />
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
</application>
https://stackoverflow.com/questions/42332290
复制相似问题