Отображение входящего звонка VOIP в верхней части экрана блокировки в Зефир
Я работаю над приложением вызова VOIP. Когда входящий вызов появляется до версии 5.0 для Android, входящий вызов отображается сверху на экране блокировки, но начиная с версии 6.0 он отображается как уведомление. Экран вызова не появляется.
После выполнения некоторых НИОКР добавили следующий код ниже перед setContentVies(),
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);
Но все еще сталкиваюсь с той же проблемой. Может кто-нибудь, пожалуйста, подскажите мне, как отобразить входящий вызов VOIP в верхней части экрана блокировки.
1 ответ
После получения push-уведомления VOIP на моем приемнике я запускаю свой пользовательский входящий вызов Activity, который переопределяет метод onAttachedToWindow следующим образом:
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
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);
}
Это хорошо работает для меня в Android 4.4 до Android 8.0, я не пробовал пока в других версиях ОС. Я могу принимать входящие пользовательские звонки из своего приложения поверх заблокированного и разблокированного экрана.