Как слушать датчики в приложении для Android

Я пытаюсь создать приложение для Android (мое первое приложение для Android, и я только начал его создавать), и оно должно работать так

  1. Это должно работать в фоновом режиме.
  2. Он постоянно слушает датчики (скажем, акселерометр) и выполняет некоторые задачи, когда получает некоторый сигнал, даже когда телефон заблокирован или экран отключен.

РЕДАКТИРОВАТЬ Как я могу убедиться, что мои службы не убиты в фоновом режиме и если они действительно убиты, они будут инициированы как можно скорее. Я читал, что сервисы убиваются системой для извлечения памяти, но как они перезапускаются? Для запуска службы при перезагрузке телефона существует конфигурация, будет ли эта конфигурация работать для служб, убитых системой?

1 ответ

Создать Service который реализует желаемый датчик слушателей.

это Service должен вернуться START_STICKY от onStartCommand поэтому он перезапускается, когда ОС по какой-то причине его уничтожила.

Затем в вашем приложении вы сможете легко запускать и останавливать Сервис из некоторых Activity используя следующие методы: startService а также stopService,

Если эти "некоторые задачи" должны выполняться параллельно, вы можете использовать потоки Java, используя или нет Executors Фреймворк Java.

Если для задачи необходимо передать какое-то сообщение пользователю, вам нужно использовать Handler и обычай Runnable потому что служба не работает в потоке пользовательского интерфейса и Toast.makeText() делает.

Рекомендации:

Другие вопросы по тегам