2014-01-29 2 views
0

Можно ли получить общедоступный IP-адрес устройства, используя какой-либо Java-код в Android?Как получить общедоступный IP-адрес устройства?

Могу ли я использовать curl с php для удаленного сервера, чтобы узнать публичный IP-адрес? Но я не знаю, как использовать curl в Java.

Мне нужен код для страны пользователя на основе общедоступного IP-адреса.

Я только нужен код для публичного IP пользователя позже увидеть страну

+2

Устройство не знаю даже. Вам понадобится веб-сервис, чтобы сообщить об этом вам. – 323go

+0

@ 323go какой !? он не говорит об этом за NAT, это может быть прямое соединение, поэтому устройство будет знать. Даже если его за NAT, UPnP, он может информировать IP об устройстве. –

+0

@DiegoCNascimento, связанный вопрос не является дубликатом. Плакат спросил о ** удаленном ** адресе, а не локальном адресе, который легко получить. Не могли бы вы указать, какая часть спецификации UPnP обеспечивает обнаружение удаленного адреса? Я полагаю, вы могли бы добраться до него через SSDP против маршрутизатора/шлюза, но было бы значительно меньше задействовать внешнюю службу, так как это также подтверждает возможность подключения. – 323go

ответ

-1
public String getIpAddr() { 
     WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); 
     WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
     nt ip = wifiInfo.getIpAddress(); 

    String ipString = String.format(
     "%d.%d.%d.%d", 
     (ip & 0xff), 
     (ip >> 8 & 0xff), 
     (ip >> 16 & 0xff), 
     (ip >> 24 & 0xff)); 

     return ipString; 

}

Пожалуйста, обратите внимание: Вы должны добавить android.permission.INTERNET и android.permission.ACCESS_WIFI_STATE в ваш AndroidManifest.xml, чтобы получить доступ к коду.

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 

через Detect wifi IP address on Android?, пользователь Tanmay Мандал

+0

и если пользователь использует DATA, а не Wi-Fi? – Gatiko06

+0

Итак, вы ищете UUID? Это будет изменяться при каждом повторном подключении к DATA. Кроме того, большинство мобильных устройств используют DHCP для получения динамического IP-адреса. – Amealy

+0

Мне нужен код для регистрации, который является пользователем страны – Gatiko06

Смежные вопросы