4

I am creating a BroadcastReceiver to listen for Wi-Fi connectivity changes:

registerReceiver(new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {

        String action = intent.getAction();
        if (ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) {

            NetworkInfo networkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); // deprecated

            // Get connectivity details from networkInfo...

        }

    }

}, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));

However, ConnectivityManager.EXTRA_NETWORK_INFO is deprecated, so how else to get the NetworkInfo object?

ban-geoengineering
  • 18,324
  • 27
  • 171
  • 253
  • see this.... http://stackoverflow.com/questions/36421930/connectivitymanager-connectivity-action-deprecated – ak sacha Feb 20 '17 at 12:11

1 Answers1

8

You can use getActiveNetworkInfo();

ConnectivityManager connectivityManager = (ConnectivityManager) myContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
Ganesh AB
  • 4,652
  • 2
  • 18
  • 29
  • Thanks, yes, that's what I'm currently doing. I just wondered if there was a way to get a `NetworkInfo` object directly from the intent supplied to my BroadcastReceiver's`onReceive(...)` method, but seemingly not. – ban-geoengineering Feb 20 '17 at 12:16
  • From CONTEXT you need to fetch that via ConnectivityManager. – Ganesh AB Feb 20 '17 at 12:17