2011-10-04 25 views

回答

5

您應該作出BroadcastReceiver將被觸發,當連接狀態發生了變化,由在manifest添加此:

<receiver 
     android:name=".receivers.NetworkChangeReceiver" 
     android:label="NetworkChangeReceiver"> 
     <intent-filter> 
      <action 
       android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
      <action 
       android:name="android.net.wifi.WIFI_STATE_CHANGED" /> 
     </intent-filter> 
    </receiver> 

,然後在receiver您可以檢查您是否已經連接:

public class NetworkChangeReceiver extends BroadcastReceiver{ 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     ConnectivityManager cm=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     if(cm.getActiveNetworkInfo()!=null&&cm.getActiveNetworkInfo().isConnected()){ 
      //Send a broadcast to your service or activity that you have network 
      //... 
     }else{ 
      LOG.i("Network UNAVAILABLE"); 
     } 
    } 

} 
相關問題