Задать вопрос
@maksimpythonn

Как сделать фоновую работу шагомера?

Я разработал шагомер, он полностью функционирует, но он не фоновый. Решил пойти быстрым путём и написать фоновый поток:
Thread t = new Thread(() -> {
     Код счёта шагов
});
t.start();

И оно даже работает, шаги считается если выйти из приложения и даже выключить телефон, но стоит убрать приложение из недавних приложений, то всё, счёта нет.

Решил поискать в интернете, смотрел везде (в том числе и на зарубежных форумах), всё шло к одному - нужно писать servis, а если точнее intentservis. И я даже его написал, правда только просто servis, и он работал, но его не как нельзя использовать в моём коде (он не впихивается в основной код), а ещё у него была та же проблема если убрать из недавних приложений, то не работает.

Я решил пойти ещё дальше, у меня в телефоне есть шагомер, я полностью его изучил через настройки телефона и там было написано это:
Время использования в фоновом режиме: 0 мин

(Я целый день ходил и шаги считались) То есть шагомер не фоновый, но шаги считает, хотя я его за день не разу не запускал, как??
Изучив ещё несколько шагомеров я понял, они почти все такие. У меня есть предположение что это происходит благодаря уведомления где отображается кол-во шагов.

Если я чего-то не понимаю пожалуйста объясните мне, я понимаю в моём вопросе очень много воды. Может у кого-то уже есть готовое решение, или ссылка на его реализацию, а может здесь вообще не нужен фон.
  • Вопрос задан
  • 221 просмотр
Подписаться 2 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
LittleBob
@LittleBob
Все правильно, вам нужно использовать Service + BroadcastReceiver, чтобы отслеживать состояние телефона и вашего сервиса.
Покажите код, который у вас не сработал.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы