我是Android新手,我正在尝试编写SyncAdapter
- 是否可以将SyncAdapter
限制为仅在网络为WiFi(而非3G等)时执行同步?< / p>
答案 0 :(得分:5)
你可以检查wifi作为
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"/>
答案 1 :(得分:2)
上面的答案很好,但是我会添加一个HttpHead-Request(HTTPGet也可以,但是你收到的数据超过了需要的数据),例如google.com所以你可以确定你真正连接到互联网。 以上发布的解决方案只检查您是否具有网络访问权限,但不保证您具有inernet访问权限。