Ошибка, когда мне нужно местоположение Android - PullRequest
0 голосов
/ 25 августа 2011

У меня проблема. В моем приложении мне нужно текущее местоположение от пользователя. Это прекрасно работает, когда у нас есть местоположение (когда я получаю местоположение с помощью метода locationManager.getLastKnownLocation), но когда я перезагружаю свой телефон, и местоположение исчезает (наличные деньги пусты, я полагаю), я получаю этот журнал и принудительно закрываю кнопку приложения. Я нажимаю на кнопку, мое приложение перезагружается, а затем оно работает нормально ... Я теперь, что проблема с местоположением, которые возвращают нуль ... Это журнал:

08-25 10:02:55.000: ERROR/GPS(2006): gen_timer_add_locked
08-25 10:02:55.449: DEBUG/libgps(2006): onUnsol: cmd 0x04 plen 57
08-25 10:02:55.449: DEBUG/libgps(2006): oem_unsol_gps_measurement: num_sv 0
08-25 10:02:55.449: DEBUG/libgps(2006): oem_unsol_gps_measurement: used_in_fix_mask 00000000 
08-25 10:02:55.503: DEBUG/libgps(2006): request_location_fix_callback: session status 1
08-25 10:02:55.503: DEBUG/libgps(2006): request_location_fix_callback: GPS session is ongoing.
08-25 10:02:55.503: ERROR/GPS(2006): gen_timer_add_locked
08-25 10:02:56.006: DEBUG/libgps(2006): request_location_fix_callback: session status 1
08-25 10:02:56.006: DEBUG/libgps(2006): request_location_fix_callback: GPS session is ongoing.
08-25 10:02:56.006: ERROR/GPS(2006): gen_timer_add_locked
08-25 10:02:56.449: DEBUG/libgps(2006): onUnsol: cmd 0x04 plen 57
08-25 10:02:56.449: DEBUG/libgps(2006): oem_unsol_gps_measurement: num_sv 0
08-25 10:02:56.449: DEBUG/libgps(2006): oem_unsol_gps_measurement: used_in_fix_mask 00000000 
08-25 10:02:56.505: DEBUG/libgps(2006): request_location_fix_callback: session status 1
08-25 10:02:56.505: DEBUG/libgps(2006): request_location_fix_callback: GPS session is ongoing.
08-25 10:02:56.505: ERROR/GPS(2006): gen_timer_add_locked
08-25 10:02:57.009: DEBUG/libgps(2006): request_location_fix_callback: session status 1
08-25 10:02:57.009: DEBUG/libgps(2006): request_location_fix_callback: GPS session is ongoing.
08-25 10:02:57.009: ERROR/GPS(2006): gen_timer_add_locked

Ответы [ 3 ]

0 голосов
/ 25 августа 2011

Взгляните на Глубокое погружение в локацию , чтобы узнать почти все о том, как получить локацию.

0 голосов
/ 26 августа 2011

Мне удалось решить проблему.Я создал AlertDialog без кнопок и запустил requestLocationUpdates.В locationListener, когда местоположение изменилось, я отменил AlertDialog, и это решило мою проблему: D СПАСИБО Джайнал и Торстен ....

0 голосов
/ 25 августа 2011

при перезагрузке телефона все непостоянные данные будут очищаться как переменные. Если вы хотите сохранить свое местоположение, вам следует использовать database / sharedPreferences. Кроме того, вы можете получить null location.So вы должны продолжать проверку для обработки.

Отредактировано

Вы можете использовать класс Timer.

Попробуй так:

 Timer timer1;
  LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
  lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
  timer1=new Timer();
  timer1.schedule(new GetLastLocation(), 20000);

Следующий код будет выполнен через 20 секунд.

class GetLastLocation extends TimerTask {
        @Override
        public void run() {
             timer1.cancel();
             lm.removeUpdates(locationListener)
             Location loc=lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
        }
}
...