Widget D'Écran De Verrouillage Android

quelques utilisateurs m'ont demandé des widgets d'écran de verrouillage Android pour mon application - je crois qu'ils veulent un widget qui reste sur leurs écrans de verrouillage et leur permet d'interagir avec l'application.

Je n'ai pas été en mesure de trouver de documentation officielle pour cela - la seule chose que j'ai trouvé était des applications qui vont prendre des widgets d'écran à la maison et les mettre sur l'écran de verrouillage pour vous.

y a-t-il des indices sur l'endroit où j'en apprends plus sur la construction de véritables écrans-serrures?

70
demandé sur NilsB 2010-11-07 03:57:40

3 réponses

L'interaction avec l'écran de verrouillage

est difficile. Android permet des opérations de base avec deux options de fenêtre (FLAG_SHOW_WHEN_LOCKED et FLAG_DISMISS_KEYGUARD). FLAG_SHOW_WHEN_LOCKED fonctionne assez uniformément en ce sens qu'il s'affichera 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 faites juste quelque chose de temporaire, comme pendant que la musique joue ou similaire, vous probablement être d'accord. Si vous essayez de créer un écran de verrouillage personnalisé alors il ya beaucoup d'interactions inhabituelles sur toutes les différentes plates-formes android. ("À l'aide! 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

drapeau de fenêtre: drapeau spécial pour permettre aux fenêtres d'être affichées lorsque le l'écran est verrouillé.

FLAG_DISMISS_KEYGUARD

drapeau de fenêtre: lorsque la fenêtre va provoquer le clavier pour être rejetée, seulement si elle n'est pas sécurisé verrouillage du clavier. Parce que ce clavier n'est pas nécessaire pour la sécurité, il ne réapparaît jamais si l'utilisateur navigue à l'autre fenêtre (contrairement à FLAG_SHOW_WHEN_LOCKED, qui ne cacher temporairement à la fois sûr et des gardes-clés non sécurisés, mais s'assurer qu'ils réapparaissent lorsque l'utilisateur se déplace à une autre interface utilisateur qui ne les cache pas). Si le clavier est actif et est sécurisé (nécessite un schéma de déverrouillage) que l'utilisateur aura encore besoin d' confirmer avant de voir cette fenêtre, à moins que FLAG_SHOW_WHEN_LOCKED n'ait aussi été définie. La Valeur de la constante: 4194304 (0x00400000)

53
répondu Kevin TeslaCoil 2016-09-07 15:09:40

le document officiel du widget D'écran de verrouillage est ici

28
répondu Bao Le 2012-11-16 02:41:17

j'ai dû implémenter un widget d'écran de verrouillage pour mon projet. Au cours de ce processus, j'ai accumulé quelques ressources.

  1. Si vous avez une application que vous souhaitez placer sur l'écran de verrouillage, d'abord faire un appwidget . Vous pouvez utiliser la classe AppWidget pour ce faire.
  2. maintenant, utilisez la classe AppWidgetHost de L'API Android à faites de votre écran de verrouillage un hôte pour les widgets. Je ne sais pas comment pour faire cette partie, mais il y a quelques implémentations existantes comme mylockandroid (liens ci-dessous).

ressources

http://code.google.com/p/mylockforandroid / (NB ce code est pour les anciennes versions D'Android. Android 4.2 et plus a intégré le support des widgets lockscreen)

http://mylockandroid.blogspot.com/2010/03/widget-lockscreen-beta-11-r2.html

10
répondu mauryat 2014-02-21 09:53:02