Search code examples
androidandroid-broadcastandroid-broadcastreceiver

Android - ConnectivityManager.EXTRA_NETWORK_INFO deprecated


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?


Solution

  • You can use getActiveNetworkInfo();

    ConnectivityManager connectivityManager = (ConnectivityManager) myContext.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();