我是 Android 新手,正在尝试编写一个SyncAdapter
- 是否可以将其限制SyncAdapter
为仅在网络为 WiFi(而不是 3G 等)时执行同步?
问问题
851 次
2 回答
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"/>
于 2012-10-30T11:27:50.837 回答
2
上面的答案很好,但我会添加一个 HttpHead-Request(也可以使用 HTTPGet,但您会收到比需要的更多的数据),它正在调用例如 google.com,这样您就可以确定您确实连接到了互联网。上面发布的解决方案只是检查您是否有网络访问权限,但不保证您有网络访问权限。
于 2012-11-02T13:35:10.630 回答