Ich habe eine Anrufer-ID-Funktion implementiert, wo, wenn der Bildschirm gesperrt ist, sollte es die Sperre öffnen und das Popup mit dem Namen der anrufenden Person anzeigen.Zeige Popup-Fenster auf Sperrbildschirm
Dies ist der Code, den ich in der onCreate() der PopupActivity hinzugefügt habe.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
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);
Außerdem habe ich die Berechtigungen
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="android.permission.WAKE_LOCK" />
Dies funktioniert gut, wenn das Telefon nicht durch ein Passwort ist/Muster protected.However es einen schwarzen Hintergrund zu den Popup-Fenstern angezeigt, wenn das Gerät Kennwort/Muster geschützt, um den Benutzer daran zu hindern, den Anruf anzunehmen/abzulehnen.