package com.app.test02;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo.State;
import android.widget.Toast;
/**
* Android 利用广播BroadCast监听网络的变化
* @author 402-9
*
*/
public class BroadCastDemo extends BroadcastReceiver{
State wifiState = null;
State mobileState = null;
public static final String ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (ACTION.equals(intent.getAction())) {
//获取手机的连接服务管理器,这里是连接管理器类
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
wifiState = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
mobileState = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
Intent intent2 = new Intent(context , BroadCastActivity2_SMS.class);
if (wifiState != null && mobileState != null && State.CONNECTED != wifiState && State.CONNECTED == mobileState) {
context.startService(intent2);
Toast.makeText(context, "手机网络连接成功!", Toast.LENGTH_SHORT).show();
} else if (wifiState != null && mobileState != null && State.CONNECTED == wifiState && State.CONNECTED != mobileState) {
context.startService(intent2);
Toast.makeText(context, "无线网络连接成功!", Toast.LENGTH_SHORT).show();
} else if (wifiState != null && mobileState != null && State.CONNECTED != wifiState && State.CONNECTED != mobileState) {
context.startService(intent2);
Toast.makeText(context, "手机没有任何网络...", Toast.LENGTH_SHORT).show();
}
}
}
}
增加权限
<receiver android:name=".BroadCastDemo">
<intent-filter >
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
效果图