限制Android同步到WiFi网络

4

我刚接触Android,并尝试编写SyncAdapter - 可以限制SyncAdapter仅在使用WiFi网络(而不是3G等)时执行同步吗?

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"/>

2

上面的回答很好,但我想补充一个 HttpHead-Request(HTTPGet也可以,但你会收到比需要更多的数据),它调用例如google.com,这样你就可以确信自己真正连接到了互联网。

上面发布的解决方案只检查您是否具有网络访问权限,但不能保证您具有互联网访问权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接