как запустить обработчик из службы через 15 секунд, чтобы приложение не спало и отправляло местоположение в веб-службу? - PullRequest
0 голосов
/ 08 октября 2018

Я работаю над приложением GPS-отслеживания, в котором мне нужно отслеживать местоположение через 15 секунд.Я использую обработчик для запуска службы из onStartCommand () из класса службы.но через 15 секунд или через некоторое время после этого обработчик не выполняется всегда.Я также использовал WakeLock, чтобы приложение не спало.как побороть эту проблему?

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Используйте Timer вместо Handler, как показано ниже

new java.util.Timer().schedule(new java.util.TimerTask() {
            @Override
            public void run() {
                //do your task here
            }
        }, 15000);
0 голосов
/ 08 октября 2018

Короче говоря:

new Handler().postDelayed(() -> { ... }, 15000);

Действие (лямбда здесь) будет выполнено после тайм-аута (15 000 мс.)

В развернутом виде это может выглядеть так:

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        //Track my location
    }
}, 15_000);
...