您的位置:首页 > 理论基础 > 计算机网络

监控网络类型变化WIFI 3g

2016-03-31 11:32 507 查看
public class NetworkStateService extends Service {

private ConnectivityManager connectivityManager;
private NetworkInfo info;

private SharedPreferences shared;
private SharedPreferences.Editor editor;

private BroadcastReceiver mReceiver = new BroadcastReceiver() {

@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
//System.out.println("网络状态已经改变");
connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
info = connectivityManager.getActiveNetworkInfo();
if (info != null && info.isAvailable()) {
String name = info.getTypeName();
if (name.equals("WIFI")) {
//System.out.println("WIFI");

editor.putString("netType", "wifi");
editor.commit();

} else {

editor.putString("netType", "3g");
editor.commit();

//System.out.println("2G/3G");
}

//System.out.println("当前网络名称:"+name);

//Toast.makeText(context, "当前网络名称:"+name, 0).show();

//doSomething()
} else {
//System.out.println("没有可用网络");
//Toast.makeText(context, "没有可用网络", 0).show();
//doSomething()
}
}
}
};

@Override
public IBinder onBind(Intent intent) {

return null;
}

@Override
public void onCreate() {
super.onCreate();

shared = getSharedPreferences("userInfo", 0);
editor = shared.edit();

IntentFilter mFilter = new IntentFilter();
mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mReceiver, mFilter);
}

@Override
public void onDestroy() {
super.onDestroy();
unregisterReceiver(mReceiver);
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息