BroadcastReceiver for CONNECTIVITY_ACTION always returns null in intent.getExtras()

前端 未结 2 1210
走了就别回头了
走了就别回头了 2020-12-28 21:29


Im trying to receive BroadcastMessages from CONNECTIVITY_ACTION:

    // register BroadcastReceiver on network state changes
    final IntentFilter mIFNe         


        
2条回答
  •  一个人的身影
    2020-12-28 22:07

    You can not get extra but you can get data by this way

    private class ConnectivityBroadcastReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
            boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager
                    .EXTRA_NO_CONNECTIVITY, false);
            NetworkInfo info1 = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager
                    .EXTRA_NETWORK_INFO);
            NetworkInfo info2 = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager
                    .EXTRA_OTHER_NETWORK_INFO);
            String reason = intent.getStringExtra(ConnectivityManager.EXTRA_REASON);
            boolean failOver = intent.getBooleanExtra(ConnectivityManager.EXTRA_IS_FAILOVER, false);
            Log.d("MY_TAG", "onReceive(): mNetworkInfo=" + info1 + " mOtherNetworkInfo = " +
                    (info2 == null ? "[none]" : info2 + " noConn=" + noConnectivity));
        }
    }
    

    For more info see this

    http://code.google.com/p/androidwisprclient/source/browse/trunk/src/com/joan/pruebas/NetworkConnectivityListener.java?r=2

提交回复
热议问题