Получите информацию о местоположении с помощью Wi-Fi

Я создаю небольшое приложение на Android, которое указывает текущее местоположение. Я использовал для этого GPS-провайдер, но обнаружил, что в некоторых местах я не получу данные через GPS-провайдер.

Может ли кто-нибудь помочь мне получить это?


person Bibin Jose    schedule 16.04.2012    source источник
comment
просто смени провайдера с GPS_PROVIDER на NETWORK_PROVIDER !!   -  person mayank_droid    schedule 16.04.2012


Ответы (2)


Если вы подключены к WIFI, просто используйте NETWORK PROVIDER для обновления вашего местоположения. они тоже будут быстрыми и достаточно точными.

Обычно, если обновления местоположения не требуются так часто, обновления местоположения запрашиваются одновременно и из GPS, и из СЕТИ. всякий раз, когда вы получаете обновление местоположения с желаемой точностью, отмените регистрацию из прослушивания обновлений местоположения.

Но если обновления местоположения требуются часто, вызов GPS может быть УБИЙСТВОМ БАТАРЕИ, поэтому будьте осторожны при использовании GPS PROVIDER.

Обновления GPS доступны только под открытым небом. Обновление GPS требует времени, требует батареи, но является более точным.

Сетевые обновления выполняются быстрее, потребляют меньше энергии, но относительно менее точны. Но если мы говорим о точности WIFI, она будет близка к 50 или 100, что может удовлетворить многие потребности в реальном времени.

Все зависит от ваших требований.

person Rohit Sharma    schedule 16.04.2012

Чтобы проверить, подключено ли устройство через мобильное устройство или Wi-Fi, вы можете использовать этот код:

ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

//wifi
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

Тогда используйте вот так ...

if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) {
    //wifi
}

для получения дополнительной информации см. ссылку

person Noundla Sandeep    schedule 16.04.2012