2017-08-28 4 views
0

J'ai mis en œuvre une fonction d'identification de l'appelant où, lorsque l'écran est verrouillé, il devrait ouvrir le verrou et afficher le popup avec le nom de la personne qui appelle.afficher la fenêtre contextuelle sur l'écran de verrouillage

c'est le code que j'ai ajouté dans le onCreate() de PopupActivity.

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); 

J'ai aussi ajouté les autorisations

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

Cela fonctionne bien lorsque le téléphone est le mot de passe/modèle protected.However il montre un fond noir à la fenêtre lorsque l'appareil est mot de passe/motif protégé empêchant l'utilisateur de participer/rejeter l'appel.

Répondre

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);

Cela semble fonctionner pour moi