Android - ConnectivityManager.EXTRA_NETWORK_INFO已弃用

ban*_*ing 2 android android-broadcast android-broadcastreceiver

我正在创建一个BroadcastReceiver来监听Wi-Fi连接的变化:

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));
Run Code Online (Sandbox Code Playgroud)

但是,ConnectivityManager.EXTRA_NETWORK_INFO已弃用,那么如何获取NetworkInfo对象呢?

Gan*_*oid 7

你可以使用getActiveNetworkInfo();

ConnectivityManager connectivityManager = (ConnectivityManager) myContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
Run Code Online (Sandbox Code Playgroud)