В настоящее время я пытаюсь сделать приложение, которое отслеживает телефон через GPS, используя сервис. чтобы GPS обновил координаты, мне нужно использовать обработчик внутри службы. Сейчас у меня есть проблема: когда я делаю Handler.post, он застревает в цикле, и после этого он полностью игнорирует остальную часть служебного кода.Handler застрял в петле в сервисе Android
Когда я отлаживался, я узнал, что обработчик чередует сообщения между методами, но ничего полезного не вышло из этого, это был просто цикл между одними и теми же методами снова и снова.
Вот мой код Service, который включает в себя обработчик:
public int onStartCommand(Intent intent, int flags, int startId)
{
ctx = ServicioDeFondo.this;
mHandler = new Handler();
reportarGPS = new Thread(new Runnable() { public void run()
{
try
{
while(true)
{
mHandler.post(new Runnable() {
@Override
public void run() {
gps = new GPSTrack(ctx);
latitude = String.valueOf(gps.getLatitude());
longitude = String.valueOf(gps.getLongitude());
}
});
Thread.sleep(10000);
try {
new APISendClass().execute();
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
catch (Exception e)
{
//TODO Auto-generated catch block
e.printStackTrace();
}
} });
reportarGPS.start();
return START_STICKY;
}
Я "ве застрял здесь целый день, любая помощь будет принята с благодарностью