2016-09-25 4 views
0

Вопрос сам пояснительный. При отладке я вижу местоположение как null. Пожалуйста, предложите, что дальше сортировать.gps.getLasknowlocation возвращает null в эмуляторе даже после установки местоположения?

locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE); 

      // getting GPS status 
      isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); 

....

// if GPS Enabled get lat/long using GPS Services 
       if (isGPSEnabled) { 
        if (location == null) { 
//      locationManager.requestLocationUpdates(
//        LocationManager.GPS_PROVIDER, 
//        MIN_TIME_BW_UPDATES, 
//        MIN_DISTANCE_CHANGE_FOR_UPDATES, this); 



       if (locationManager != null) { 
         location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
         if (location != null) { 
          latitude = location.getLatitude(); 
          longitude = location.getLongitude(); 
         } 
        } 
       } 
      } 

На отладке я вижу, что gpsEnabled является alwaysreturned ложным. GPS включен на эмуляторе

ответ

0

Вы используете эмулятор. Он еще не запросил местоположение, поэтому вам нужно позвонить requestLocationUpdates() или requestSingleUpdate(), чтобы он хранил место для устройства.

Другой способ сделать это - попробовать щелкнуть меню в правой части эмулятора, которое выглядит как три точки и перейти к разделу «Местоположение». Если вы разместите там широту и долготу и нажмите «Отправить», это сработает?

+0

обновленный мой вопрос –

+0

Проблема заключается в том, что вы используете эмулятор. Обновлен мой ответ –

+1

Я пробовал использовать карты сначала так, как вы думали, даже карты ждут места. –

1

Основываясь на коде, я предполагаю, что вы используете GPSTracker или какой-либо его вывод (который вы не должны нарушать этот код). Если это так, значение gpsEnabled просто говорит вам, можно ли использовать GPS, а не то, действительно ли он включен и способен дать вам значение прямо сейчас.

+0

Остается вопрос, почему это ложь. Эмулятор уверен, что он способен на gps, поэтому он должен быть истинным rt? Если в эмуляторе нет какой-либо конфигурации –

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