2016-06-14 2 views

ответ

2

Прежде всего получить IP-адрес, используя следующий код:

public String getIpAddr() { 
    WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); 
    WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
    int 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" /> 

После этого используйте сторонний веб-сервис, который дает вам langitude и широту, предоставляя IP-адрес. Пример: http://www.geoipservice.asmx/GetGeoIP?IPAddress= (PASS IP AS STRING)

Надеюсь, что вы получили свой ответ !!!

+0

Спасибо за ответ .let мне проверить это –

+0

становится ниже ошибки при попытке использовать выше веб-сервиса 'java.net. UnknownHostException: Невозможно разрешить хост «www.geoipservice.asmx»: нет адреса, связанного с именем хоста. –

+0

Попробуйте этот веб-сервис http://ip-api.com/json/172.217.4.227 .. Используйте свой IP вместо Google.) .. – prashant0205

0

Попробуйте этот код

code

Это даст вам долготы и широты

+0

Как я уже упомянул, что без использования androi d 'Location Service' –

+0

@Android Я думаю, что вы не можете получить его без' Location Service' –

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