Как показать активность входящего звонка

Я занимаюсь разработкой приложения для видео и голосового чата.

Что мне нужно сделать, это показать некоторую активность входящего вызова, когда пользователь пытается позвонить другому пользователю.

Я уже использую Firebase Cloud Message для отправки push-сообщения, предупреждающего устройство о том, что существует запрос вызова.

Но я сталкиваюсь с трудностями, пытаясь разбудить устройство и показать перед экраном блокировки входящий вызов, чтобы пользователь мог принять или отклонить вызов.

Что я ищу, так это то, что делает приложение Whats, когда вы звоните кому-нибудь.

введите описание изображения здесь

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

Но как мне заархивировать эту цель, когда устройство заблокировано и черный экран.

1 ответ

Я также разрабатывал такого рода приложение, и я сделал следующее: я использовал несколько флагов для WindowManager для той конкретной деятельности, которую я должен показывать на экране во время события входящего вызова.

Попробуйте добавить приведенный ниже код в метод OnCreate() действия, которое вы намереваетесь показать на экране.

getWindow().addFlags(
            WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                    + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                    | +WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                    | +WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 

И упомянуть следующие разрешения в манифесте:

 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
 <uses-permission android:name="android.permission.WAKE_LOCK" />

Надеюсь, это поможет вам.!!

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