2012-02-24 9 views
0

私はAndroid上でネットワークインターフェイスを反復処理するには、次のコードを使用しています:無線LAN接続があるとアンドロイドは携帯電話接続を切断しますか?

try { 
    for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { 
     NetworkInterface intf = en.nextElement(); 
     for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { 
      InetAddress inetAddress = enumIpAddr.nextElement(); 
      if (!inetAddress.isLoopbackAddress()) { 
       Log.e("get ip: ", inetAddress.getHostAddress()); 

      } 
     } 
    } 

を私はWiFiネットワークに接続されていた場合、私は、私は無線LANと携帯IPの両方を期待する無線LAN IPを取得(携帯電話はセルネットワーク上にあり、ipを取得した後、Wi-Fiをオンにして突然Wi-Fi ipを返す)。

だから誰も何が起こるか知っていますか? iphoneで同様のコードを使用すると、携帯電話とWi-Fiの両方のIPが得られます。

+2

WiFi接続時にAndroidがモバイルデータ接続を切断します(データ接続アイコンが消えます)。これは、システムによるモバイルデータの使用を減らすための保護手段になります。 – coolcfan

+0

これは正解です。あなたがAndroidマーケットを起動すると、市場があなたのネットワークヘッダーをチェックしてあなたの国を特定できるようにするために、簡単にオンになります。 –

答えて

1

ええと、アンドロイドはWi-Fiまたは携帯電話のいずれかを一度に接続します。 ConnectivityManager.requestRouteToHostのように、特定のトランスポートを強制的に接続できるように見えますが、個人的には試したことがありません。

関連する問題