L'interaction avec l'écran de verrouillage est difficile. Android permet des opérations de base avec deux drapeaux de fenêtre (FLAG_SHOW_WHEN_LOCKED et FLAG_DISMISS_KEYGUARD). FLAG_SHOW_WHEN_LOCKED fonctionne de manière assez cohérente en ce sens qu'il s'affiche en haut de l'écran de verrouillage même lorsque la sécurité est activée (la sécurité n'est pas contournée, vous ne pouvez pas passer à une autre fenêtre non FLAG_SHOW_WHEN_LOCKED).
Si vous ne faites que quelque chose de temporaire, par exemple pendant que vous écoutez de la musique ou autre, tout ira probablement bien. Si vous essayez de créer un écran de verrouillage personnalisé, il existe de nombreuses interactions inhabituelles sur les différentes plateformes Android. ("Au secours ! Je ne peux pas éteindre mon alarme sans redémarrer mon téléphone HTC").
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
http://developer.Android.com/reference/Android/view/WindowManager.LayoutParams.html
FLAG_SHOW_WHEN_LOCKED
Window flag: special flag to let windows be shown when the screen is locked.
FLAG_DISMISS_KEYGUARD
Drapeau de fenêtre : lorsqu'il est activé, la fenêtre entraîne le renvoi du garde-clef. seulement s'il ne s'agit pas d'un garde-clef à verrouillage sécurisé. verrouillé. Parce qu'un tel garde-clef n'est pas nécessaire pour la sécurité, il ne jamais réapparaître si l'utilisateur navigue vers une autre fenêtre (contrairement à FLAG_SHOW_WHEN_LOCKED, qui ne fait que masquer temporairement les garde-clefs sécurisés et non sécurisées et non sécurisées, mais qui s'assure qu'elles réapparaissent lorsque l'utilisateur passe à une autre interface utilisateur qui ne les cache pas). Si le protège-clavier est actuellement actif et est sécurisé (nécessite un motif de déverrouillage) l'utilisateur devra toujours le confirmer le confirmer avant de voir cette fenêtre, à moins que FLAG_SHOW_WHEN_LOCKED n'ait également été activé. été activé. Valeur constante : 4194304 (0x00400000)