2012-10-30 31 views
4

我是新來的Android,並試圖寫一個SyncAdapter - 是否有可能限制SyncAdapter只在網絡是WiFi(而不是3G等)時執行同步?限制Android同步到WIFi

回答

5

你可以檢查無線網絡連接的

ConnectivityManager cm = (ConnectivityManager) YourActivity.this.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo info = cm.getActiveNetworkInfo(); 

    if(info.getType()==ConnectivityManager.TYPE_WIFI) 
    { 
     System.out.println("WiFi Connected"); 
    } 
    else 
    { 
      System.out.println("WiFi not connected"); 
    } 

,並在清單中添加權限爲

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
2

以上答案是好的,但我想補充一個HttpHead請求(HTTPGET也可能的,但你收到比需要更多的數據),例如正在調用google.com所以你可以確定你真的連接到互聯網。 上述發佈的解決方案只是檢查您是否有網絡訪問權限,但不能保證您擁有inernet訪問權限。