Я выполняю задачу таймера в основном потоке и обновляю там свой пользовательский интерфейс каждые 15 секунд. Я также запускаю еще одну задачу таймера в службе переднего плана (когда пользователь включает ее. Она предназначена для фоновых операций, таких как резервное копирование данных), содержащую уведомление, которое заставляет код задачи таймера продолжать работу, даже когда приложение закрыто.
Могу ли я в любом случае использовать службу переднего плана, но остановить эту задачу таймера.
Я уже делал что-то подобное, но это не сработало, поскольку там написано, что пользователь на экране из-за этого уведомления:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
boolean isScreenOn = pm.isInteractive();
if(!isScreenOn){
MainActivity.timer.cancel();
MainActivity.timer.purge();
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... nd-service