Я пытаюсь сделать что-то похожее на приложение truecaller, где мое приложение должно показывать экран после того, как звонок будет зависеть. Достигал этого, зарегистрировав android.intent.action.PHONE_STATE неявное вещание в файле manifest.
Но он не работает, если я изменю приложение на целевой Android O, из-за ограничения на широковещательную передачу Android O, и я пытаюсь чтобы найти альтернативное решение для этого варианта использования.
Альтернативные решения, предлагаемые в документах android: Job scheduler или зарегистрируйте service с помощью context.
Планировщик заданий:. Из-за оптимизации Job scheduler будет некоторая задержка для получения обратного вызова. Таким образом, это повлияет на работу пользователя, если экран вашего приложения будет показан через несколько минут после телефонного звонка и опроса, чтобы проверять наличие новых журналов вызовов каждые несколько секунд, из-за проблемы с аккумулятором.
Зарегистрировать службу с контекстом в Java. Я хочу, чтобы поведение работало, даже если приложение неактивно или живое. Это не будет работать, если система убивает service.
Зарегистрировать службу переднего плана. Для этого требуется, чтобы уведомление показывалось пользователю все время, что было бы спамом для пользователя, а работа службы 24/7 потребляет много ресурсов, которые побеждают целая цель ограничения вещания.
Пожалуйста, предложите альтернативное решение, чтобы пользователь не остался прежним.
Заранее спасибо