2017-08-28 2 views
0

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.

Antwort

0

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 |PixelFormat.TRANSLUCENT);

Dies scheint

für mich arbeiten zu
Verwandte Themen