Как слушать датчики в приложении для Android
Я пытаюсь создать приложение для Android (мое первое приложение для Android, и я только начал его создавать), и оно должно работать так
- Это должно работать в фоновом режиме.
- Он постоянно слушает датчики (скажем, акселерометр) и выполняет некоторые задачи, когда получает некоторый сигнал, даже когда телефон заблокирован или экран отключен.
РЕДАКТИРОВАТЬ Как я могу убедиться, что мои службы не убиты в фоновом режиме и если они действительно убиты, они будут инициированы как можно скорее. Я читал, что сервисы убиваются системой для извлечения памяти, но как они перезапускаются? Для запуска службы при перезагрузке телефона существует конфигурация, будет ли эта конфигурация работать для служб, убитых системой?
1 ответ
Создать Service
который реализует желаемый датчик слушателей.
это Service
должен вернуться START_STICKY
от onStartCommand
поэтому он перезапускается, когда ОС по какой-то причине его уничтожила.
Затем в вашем приложении вы сможете легко запускать и останавливать Сервис из некоторых Activity
используя следующие методы: startService
а также stopService
,
Если эти "некоторые задачи" должны выполняться параллельно, вы можете использовать потоки Java, используя или нет Executors
Фреймворк Java.
Если для задачи необходимо передать какое-то сообщение пользователю, вам нужно использовать Handler
и обычай Runnable
потому что служба не работает в потоке пользовательского интерфейса и Toast.makeText()
делает.
Рекомендации: