网络连接状态监听

  just记个笔记。

监听网络连接状态,只要注册网络监听,然后写个类继承自BroadcastReceiver即可。

(1)继承BroadcastReceiver。

public class ConnectionChangeReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
        NetworkInfo wifiNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

//        if(!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()){
//            Logger.print("-----------","网络连接断开");
//            ToastUtils.centerToastLong(context,context.getResources().getString(R.string.toast_network_disconnected));
//        }else{
//            Logger.print("-----------","网络连接 is ok");
//            ToastUtils.centerToastLong(context,context.getResources().getString(R.string.toast_network_connected));
//        }
    }
}

(2)register in application

public class MainApplication extends Application {
    ConnectionChangeReceiver connectionChangeReceiver;

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

    private void registerReceiver() {
        IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
        connectionChangeReceiver = new ConnectionChangeReceiver();
        this.registerReceiver(connectionChangeReceiver, filter);

    }
}


你可能感兴趣的:(Android)