Я пытаюсь найти лучшего поставщика в этом случае ниже:
// GPS
case R.id.main_menu_gps:
// Set up location services
mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
mBestProvider = mLocationManager.getBestProvider(new Criteria(), true);
Log.d(DEB_TAG, "@@@@Value of mBestProvider is " + mBestProvider);
if(mBestProvider != null){
showGpsSearchingDialog();
mLocationManager.requestLocationUpdates(mBestProvider, 150000, 1, this);
} else {
Log.d(DEB_TAG, "Provider is null");
showGpsAlertDialog();
}
break;
Мое устройство возвращает «GPS» как лучший поставщик, но не может найти местоположение, и мой диалог прогресса отображается навсегда в поиске. Если я захожу в настройки телефона «Местоположение / Безопасность» и проверяю «Использовать беспроводные сети», лучшим провайдером является Сеть, и он работает, чтобы вернуть местоположение.
Я что-то не так делаю, когда лучшим поставщиком является GPS, а данные не возвращаются?