У меня проблема с моим приложением. Мне нужно получать обновления местоположения через определенные промежутки времени и, следовательно, в основном нужно уметь хорошо управлять модулем GPS, с ОС Android это не совсем легко. В основном мне нужно включить GPS на 2 минуты с интервалом в 5 минут. У меня нет времени, и я могу получить местоположение дважды, но затем приложение вылетает с ошибкой RunTime - только один Looper может быть создан для потока. Синхронизация выполняется в классе обслуживания и работает хорошо, он удаляет обновления и все, что касается только этой проблемы.
У меня изначально была эта ошибка - «Не удалось создать обработчик внутри потока, который не вызвал Looper.prepare ()», который я исправил с помощью приведенного ниже кода, но теперь я получаю только одну ошибку Looper
Мой лупер Тема выглядит так (пожалуйста, не будь резким, я очень новичок в Android LOL)
public void run() {
Looper.prepare();
setLooper(Looper.myLooper());
LocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
0, locationListener);
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
stopLooper();
}
}, TWO_MINUTES);
Looper.loop();
t.cancel();
setLooper(null);
vb.getLm().removeUpdates(ll);
}
Как я уже сказал, я новичок, и я не уверен, как использовать обработчик. Я получил этот код из поста здесь, в StackOverflow, просто использовал его по-другому, но он не работает.
Пожалуйста, мне действительно нужна помощь.
Спасибо за любые ответы.
Хорошо, похоже, я нашел решение, просто нужно проверить его, а затем подождать еще 7 часов, прежде чем я смогу опубликовать ответ.
Спасибо за любые взгляды и ответы.