Получете подробности за местоположението чрез WiFi

Създавам малко приложение в Android, което посочва текущото местоположение. Използвах GPS-доставчик за това, но разбрах, че на някои места няма да получа данните чрез GPS-доставчик.

Може ли някой да ми помогне да получа това?


person Bibin Jose    schedule 16.04.2012    source източник
comment
възможен дубликат на Get current location using wifi? и Как да преценя позицията си с помощта на Wifi Access Point?   -  person assylias    schedule 16.04.2012
comment
просто сменете доставчика от GPS_PROVIDER на NETWORK_PROVIDER !!   -  person mayank_droid    schedule 16.04.2012


Отговори (2)


Ако сте свързани към WIFI, просто използвайте МРЕЖОВИЯ ДОСТАВЧИК за актуализации на вашето местоположение. те също ще бъдат бързи и достатъчно точни.

обикновено, ако актуализациите на местоположението не се изискват толкова често, тогава актуализациите на местоположението се изискват едновременно от GPS и МРЕЖА едновременно. всеки път, когато получите актуализация на местоположението с желана точност, отменете регистрацията от слушане на актуализации на местоположението.

Но ако актуализациите на местоположението се изискват често, тогава обаждането до GPS също може да бъде УБИЕЦ НА БАТЕРИЯТА, така че внимавайте да използвате GPS ДОСТАВЧИК.

GPS актуализациите са налични само под открито небе. GPS актуализациите отнемат време, отнемат батерия, но са по-точни.

Мрежовите актуализации са по-бързи, консумират по-малко батерия, но са сравнително по-малко точни. Но ако говорим за точност на WIFI, тя ще бъде близо до 50 или 100, което може да обслужва много изисквания в реално време.

Всичко зависи от вашите изисквания.

person Rohit Sharma    schedule 16.04.2012

За да проверите дали устройството е свързано чрез мобилен телефон или wifi, можете да използвате този код:

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