1

Android から htttp または https 経由で通信する必要があり、アプリの「wifi のみ」の設定が必要です。通信制限です。そのようなことを実装する方法は?AndroidHttpClient が Wifi または 3G でのみ動作すること、およびそれを制限する方法に関する情報が見つかりません。

4

4 に答える 4

2

このコードは、wifi 接続を確認します。

 public static boolean hasWIFIConnection(Context context)
                    {
                        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

                        NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
                        if (wifiNetwork != null && wifiNetwork.isConnected())
                            {
                                return true;
                            }
return false;

        }
于 2013-05-22T10:46:35.600 に答える
2

setNetworkPreference(int preference)サービスのメソッドについて聞いたことがありConnectivityManagerます。十分に文書化されていませんが、このメソッドはネットワーク タイプを表す整数定数で使用できるようです。

このような定数への参照は ConnectivityManager クラスにあります。

私はこのように掘り始めます。

編集 :

次の権限を付与する必要があります。

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
于 2013-05-22T10:49:23.340 に答える
1

このようにしてみてください

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo) 
{
    if (ni.getTypeName().equalsIgnoreCase("WIFI"))
        if (ni.isConnected())
            haveConnectedWifi = true;
    if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
        if (ni.isConnected())
            haveConnectedMobile = true;}
于 2013-05-22T10:49:35.290 に答える