4

私は Android が初めてで、ネットワークが WiFi の場合 (3G などではない場合) にのみ同期を実行するSyncAdapterように制限することは可能ですか?SyncAdapter

4

2 に答える 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

上記の答えは良いですが、たとえば google.com を呼び出す HttpHead-Request (HTTPGet も可能ですが、必要以上のデータを受け取る) を追加して、本当にインターネットに接続していることを確認できるようにします。上記の解決策は、ネットワーク アクセスがあるかどうかを確認するだけで、インターネット アクセスがあることを保証するものではありません。

于 2012-11-02T13:35:10.630 に答える