寫一個(gè)類myReceiver繼承BroadcastReceiver類
重寫onReceiver()方法,onReceiver()方法默認(rèn)在UI線程運(yùn)行四敞,可直接顯示Toast
public void onReceive(Context context, Intent intent) {
//獲得ConnectivityManager對(duì)象
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)
//獲取ConnectivityManager對(duì)象對(duì)應(yīng)的NetworkInfo對(duì)象
//獲取WIFI連接的信息
NetworkInfo wifiNetworkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
//獲取移動(dòng)數(shù)據(jù)連接的信息
NetworkInfo dataNetworkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifiNetworkInfo.isConnected() && dataNetworkInfo.isConnected()) {
Toast.makeText(context, "WIFI已連接,移動(dòng)數(shù)據(jù)已連接", Toast.LENGTH_SHORT).show();
} else if (wifiNetworkInfo.isConnected() && !dataNetworkInfo.isConnected()) {
Toast.makeText(context, "WIFI已連接,移動(dòng)數(shù)據(jù)已斷開", Toast.LENGTH_SHORT).show();
} else if (!wifiNetworkInfo.isConnected() && dataNetworkInfo.isConnected()) {
Toast.makeText(context, "WIFI已斷開,移動(dòng)數(shù)據(jù)已連接", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "WIFI已斷開,移動(dòng)數(shù)據(jù)已斷開", Toast.LENGTH_SHORT).show();
}
在Activity中的onResume()方法中注冊(cè)廣播接收器
protected void onResume() {
super.onResume();
//注冊(cè)廣播接收器
if (myReceiver == null) {
myReceiver = new MyReceiver();
}
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(myReceiver, filter);
}
在Activity中的onResume()方法中撤銷廣播接收器
protected void onPause() {
super.onPause();
unregisterReceiver(myReceiver);
}