Создайте приложение, которое считывает данные датчика, а затем заблокируйте экран

Я знаю, что это можно сделать с некоторыми приложениями с Tasker и Automate, но я хочу узнать это сам.

  1. Создание приложения, которое всегда работает в фоновом режиме;
  2. Как читать данные датчика(в этом случае я хотел бы использовать «датчик окружающего света»);
  3. Блокировать экран.

У меня есть Android Studio, и все готово для создания приложения и компиляции, но я понятия не имею, как это сделать / с чего начать. Спасибо за любую помощь.

1 ответ

  1. Вопросы, которые вы ставите, охватывают пару очень широких тем, и очень трудно дать индивидуальный ответ на них. Лучшее, что кто-то может сделать, это предоставить какой-то указатель, который я попытаюсь —

    1. Чтобы создать приложение в фоновом режиме на Android, вы в основном создаете службу Android и продолжаете работать в фоновом режиме. Убедитесь, что это липкий сервис, который означает, что сервис будет перезапущен автоматически, если он был убит по какой-то причине. Если вы хотите, чтобы запустить это приложение всегда на фоне (не хорошая идея, хотя), вы можете слушать для загрузки завершена вещания и начать фон из приемника вещания. Ниже ссылки на связанные темы — https://developer.android.com/reference/android/content/BroadcastReceiver.html
      https://developer.android.com/reference/android/content/Intent.html#ACTION_BOOT_COMPLETED
      https://developer.android.com/guide/components/services.html
      https://developer.android.com/reference/android/app/Service.html#START_STICKY

    2. Чтение данных датчика окружающего света довольно прямолинейно. Перейдите по ссылке, приведенной ниже. Хотя все примеры, показанные в ссылке, должны быть на переднем плане, но это не обязательно. Вы можете в основном зарегистрироваться для прослушивателя изменения данных датчика из фоновой службы. Для прослушивания данных датчика необходимо создать экземпляр класса обслуживания sensor manager framework и зарегистрировать для конкретного датчика (в вашем случае Light) прослушиватель изменения данных
      Исходная страница — https://developer.android.com/guide/topics/sensors/sensors_overview.html

    3. У меня нет личного опыта с программной блокировкой/разблокировкой keyguard, но несколько ссылок, которые предоставляют некоторый пример кода, стоит посмотреть —
      Как программно заблокировать/разблокировать экран?
      Android блокировка экрана / разблокировка программными средствами