用接收器来做。您可以收到有关网络状态更改的通知。例如,
private BroadcastReceiver networkReceiver = new BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); if(intent.getExtras()!=null) { NetworkInfo ni=(NetworkInfo) intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO); if(ni!=null && ni.getState()==NetworkInfo.State.CONNECTED) { // we're connected } } // we're not connected }}在您的网站上
onResume()注册,然后在上注销
onPause()。
@Overrideprotected void onPause() { super.onPause(); unregisterReceiver(networkReceiver);}@Overrideprotected void onResume() { super.onResume(); IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(networkReceiver, filter);}此外,要在注册接收者之前获取初始状态,请在您的
onResume()方法中调用此方法,
public boolean isNetworkConnected() { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); if (netInfo != null && netInfo.isConnectedOrConnecting()) { return true; } return false; }确保您的应用请求此权限,
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />



