2012-10-30 30 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访问权限。