2012-05-31 55 views
-1

我需要根據ip地址檢測特定的移動運營商。Android - 移動運營商通過ip檢測

我有一個有效的IP地址列表,我需要檢查是否有任何連接正在使用其中的一個。

任何想法如何檢查任何HTTP連接是否使用特定的IP地址?

BR, 馬辛

+0

那你到底想得到什麼ip地址?即時通訊猜測它的手機的IP地址是嗎? –

+0

我需要獲取應用程序在嘗試連接到互聯網時使用的公共IP地址(APN的ip?)。 –

回答

-1

這將讓你的Android設備已經取得

public String getLocalIpAddress() { 
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()) { 
       return inetAddress.getHostAddress().toString(); 
      } 
     } 
    } 
} catch (SocketException ex) { 
    Log.e(LOG_TAG, ex.toString()); 
} 
return null; 
} 

如果此方法返回null,沒有可用連接的任何連接的IP地址。如果該方法返回一個字符串,該字符串包含當前所使用的設備無關的3G或WiFi IP地址

+0

不知道是否做錯了,但是我從這種方法得到的是: :: 127.0.0.1%2: –

+0

雅它工作正常,你做什麼都沒有錯,你所要做的就是驗證IP地址格式與正則表達式(把它在正確的格式,刪除%) –

+0

我已編輯我的答案,請嘗試我現在​​放入的代碼,因爲它現在應該工作正常......但如果這帶回了與先前相同的東西代碼你只需要做我上面提到的 –

0

我沒有代碼,但它非常直截了當eitherway:

  1. 連接到一個外部網頁,就像我的ip網站或你自己的網站一樣。
  2. 此頁面可以獲取您的IP地址。檢查這些服務的許可證或設置您自己的,並讓它將您的IP寫入頁面。 Google PHP Get remote address
  3. 利潤!
+0

我不假設使用外部服務器來做到這一點。 –