android 监听网络改变的状态.

1.在android开发中,需要监听手机网络改变的状态,方便进行下一步的逻辑操作.

2.android监听网络状态需要加入权限:

               android.permission.ACCESS_NETWORK_STATE

3.android中,当网络发生改变时,系统会发送广播.

 android.net.conn.CONNECTIVITY_CHANGE 网络发生改变.

 android.intent.action.USER_PRESENT  用户锁发生改变(锁频下,网络会被终止,除非在网络高级中设置了锁频下不关闭网络。)

4.建立一个广播类(BroadcastReceiver)进行监听两个广播.

5.使用类  NetWorkInfo 得到网络信息.

6.使用ConnectivityManager.getActiveNetworkInfo() 得到当前活动网络的NetWorkInfo实例.

7.使用Context.getSystemService(Context.CONNECTIVITY_SERVICE). 得到ConnectivityManager实例。

public void onReceive(Context context, Intent intent) {
        Log.d(LOGTAG, "ConnectivityReceiver.onReceive()...");
        String action = intent.getAction();
        Log.d(LOGTAG, "action=" + action);

        ConnectivityManager connectivityManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();

        if (networkInfo != null) {
            Log.d(LOGTAG, "Network Type  = " + networkInfo.getTypeName());
            Log.d(LOGTAG, "Network State = " + networkInfo.getState());
            if (networkInfo.isConnected()) {
                Log.i(LOGTAG, "Network connected");
             }
        } else {
            Log.e(LOGTAG, "Network unavailable");
        }
    }

猜你喜欢

转载自zyzzsky.iteye.com/blog/1847419