官方说法 Declaring a broadcastreceiver for android.net.conn.CONNECTIVITY_CHANGE is deprecated for apps targeting N and higher. In general, apps should not rely on this broadcast and instead use JobScheduler or GCMNetworkManager. targetSdkVersion 升级到 24 后,发现静态注册广播的方式要被取消了。 所以会造成
android.net.conn.CONNECTIVITY_CHANGE这个方法调用不到 当然24版本以前的还是可以用到这个方法 之后的可以用这个方法
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); connectivityManager.requestNetwork(new NetworkRequest.Builder().build(), new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { super.onAvailable(network); Toast.makeText(context,"网络状态改变了",Toast.LENGTH_SHORT).show(); } });