Android N not sending android.net.conn.CONNECTIVITY_CHANGE broadcast?

前端 未结 3 1130
南笙
南笙 2020-12-15 06:35

I have defined a receiver in a sandbox Android N application:



        
3条回答
  •  天命终不由人
    2020-12-15 07:04

    Meanwhile ConnectivityManager.CONNECTIVITY_ACTI‌​ON was deprecated:

    @deprecated 
    apps should use the more versatile {@link #requestNetwork},
    {@link #registerNetworkCallback} or {@link #registerDefaultNetworkCallback}
    functions instead for faster and more detailed updates about the network
    changes they care about.
    

    So registerDefaultNetworkCallback should be used:

    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    cm.registerDefaultNetworkCallback(new ConnectivityManager.NetworkCallback(){
        @Override
        public void onAvailable(Network network) {
            doOnNetworkConnected();
        }
    });
    

提交回复
热议问题