android功能调用

Android 判断网络连接状态

2017-02-03  本文已影响100人  匡风含情

在Android上,我们需要对不同的网络情况做出一些操作。官方提供了监听网络状态变化的广播,用来监听网络的变化情况。

    private IntentFilter intentFilter;
    
    private NetworkChangeReceiver networkChangeReceiver;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        intentFilter = new IntentFilter();
        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
        networkChangeReceiver = new NetworkChangeReceiver();
        registerReceiver(networkChangeReceiver, intentFilter);
    }
    
    @Override
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(networkChangeReceiver);
    }
    
    class NetworkChangeReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = manager.getActiveNetworkInfo();
            if (networkInfo!=null && networkInfo.isAvailable()) {
                Toast.makeText(context, "networdk is available", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(context, "networdk is unavailable", Toast.LENGTH_SHORT).show();
            }
        }
        
    }

清单文件需要加上对应的权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

上一篇 下一篇

猜你喜欢

热点阅读