Създавам малко приложение в Android, което посочва текущото местоположение. Използвах GPS-доставчик за това, но разбрах, че на някои места няма да получа данните чрез GPS-доставчик.
Може ли някой да ми помогне да получа това?
Създавам малко приложение в Android, което посочва текущото местоположение. Използвах GPS-доставчик за това, но разбрах, че на някои места няма да получа данните чрез GPS-доставчик.
Може ли някой да ми помогне да получа това?
Ако сте свързани към WIFI, просто използвайте МРЕЖОВИЯ ДОСТАВЧИК за актуализации на вашето местоположение. те също ще бъдат бързи и достатъчно точни.
обикновено, ако актуализациите на местоположението не се изискват толкова често, тогава актуализациите на местоположението се изискват едновременно от GPS и МРЕЖА едновременно. всеки път, когато получите актуализация на местоположението с желана точност, отменете регистрацията от слушане на актуализации на местоположението.
Но ако актуализациите на местоположението се изискват често, тогава обаждането до GPS също може да бъде УБИЕЦ НА БАТЕРИЯТА, така че внимавайте да използвате GPS ДОСТАВЧИК.
GPS актуализациите са налични само под открито небе. GPS актуализациите отнемат време, отнемат батерия, но са по-точни.
Мрежовите актуализации са по-бързи, консумират по-малко батерия, но са сравнително по-малко точни. Но ако говорим за точност на WIFI, тя ще бъде близо до 50 или 100, което може да обслужва много изисквания в реално време.
Всичко зависи от вашите изисквания.
За да проверите дали устройството е свързано чрез мобилен телефон или 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
}
за повече информация вижте връзка