Quelques utilisateurs m'ont demandé Android widgets d'écran de verrouillage pour mon application - je crois qu'ils veulent un widget qui reste sur leur écran de verrouillage et leur permette d'interagir avec l'application.
Je n'ai pas pu trouver de documentation officielle à ce sujet - la seule chose que j'ai trouvée était des applications qui prendront des widgets d'écran d'accueil et les mettront sur l'écran de verrouillage pour vous.
Des indices sur où j'apprends plus sur la construction de vrais widgets d'écran de verrouillage?
L'interaction de l'écran de verrouillage est difficile. Android autorise les opérations de base avec deux indicateurs 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'affichera au-dessus 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 faites juste quelque chose de temporaire, comme pendant la lecture de musique ou similaire, vous serez probablement d'accord. Si vous essayez de créer un écran de verrouillage personnalisé, il y a beaucoup d'interactions inhabituelles sur toutes les différentes plates-formes Android. ("Aide! Je ne peux pas désactiver mon alarme sans redémarrer mon HTC) téléphone").
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
Indicateur de fenêtre: indicateur spécial permettant d'afficher les fenêtres lorsque l'écran est verrouillé.
FLAG_DISMISS_KEYGUARD
Indicateur de fenêtre: lorsqu'elle est définie, la fenêtre entraînera le verrouillage du clavier, uniquement s'il ne s'agit pas d'un verrouillage sécurisé. Étant donné qu'un tel garde-clé n'est pas nécessaire pour la sécurité, il ne réapparaîtra jamais si l'utilisateur navigue vers une autre fenêtre (contrairement à FLAG_SHOW_WHEN_LOCKED, qui ne masquera que temporairement les gardes-clés sécurisés et non sécurisés, mais s'assurera qu'ils réapparaissent lorsque l'utilisateur passe à une autre interface utilisateur qui ne les cache pas). Si le clavier est actuellement actif et sécurisé (nécessite un schéma de déverrouillage), l'utilisateur devra toujours le confirmer avant de voir cette fenêtre, sauf si FLAG_SHOW_WHEN_LOCKED a également été défini. Valeur constante: 4194304 (0x00400000)
Le document officiel du widget de l'écran de verrouillage est ici
J'ai dû implémenter un widget écran de verrouillage pour mon projet. Dans le processus, j'ai accumulé quelques ressources.
AppWidget
pour ce faire.AppWidgetHost
de Android API pour faire de votre écran de verrouillage un hôte pour les widgets. Je ne sais pas comment faire cette partie, mais il existe des implémentations existantes comme mylockandroid (liens ci-dessous).http://code.google.com/p/mylockforandroid/ (NB Ce code est pour les anciennes versions d'Android. Android 4.2 et plus a intégré un widget lockscreen) soutien)
http://mylockandroid.blogspot.com/2010/03/widget-lockscreen-beta-11-r2.html