LiveCard
Cette classe vous permet de créer des fiches actives et de les publier dans la chronologie.
Pour en savoir plus sur la création de cartes actives, consultez les Guide du développeur pour les fiches en direct
Cycle de vie d'une carte active
Les fiches actives nécessitent un contexte de longue durée pour en être propriétaires pendant toute la durée de leur utilisation.
Vous devez donc les gérer en arrière-plan Service
. Vous pouvez ensuite
publier une fiche active dès le démarrage du service ou en réponse à d'autres événements
de service. De même, vous devez annuler la publication des fiches lorsqu'elles ne sont plus pertinentes ou lorsque
le service est détruit.
Lorsque vous publiez une fiche active, vous pouvez déterminer son impact sur les utilisateurs. Lors de la publication silencieuse, la carte est insérée dans la chronologie sans effet visible: les utilisateurs doivent balayer l'écran pour la fiche pour la voir. Vous pouvez également afficher automatiquement la carte active juste après l'avoir publiés. Cela est souvent utile lorsque l'interface utilisateur principale de votre application est une carte active et non une activité.
Afficher du contenu sur une fiche active
Une fiche active peut afficher du contenu à partir d'une ressource de mise en page ou en autorisant l'affichage de votre code directement sur sa surface de dessin. Choisissez la méthode la plus adaptée à votre application sur la fréquence à laquelle vous devez mettre à jour le contenu de la fiche et sur l'affichage principal des widgets ou des images au format libre.
Gonfler une mise en page à l'aide de vues à distance
Si votre application ne nécessite que des widgets standards et des mises à jour peu fréquentes (quelques secondes ou
plus longtemps entre les actualisations), puis créez votre fiche à l'aide de la classe RemoteViews
.
L'objet RemoteViews
permet à la chronologie Glass, qui s'exécute dans un processus distinct de
code d'application, gonflez une mise en page que vous avez créée.
LiveCard liveCard; // initialized elsewhere RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.my_layout); liveCard.setViews(views);
Lorsqu'une fiche utilisant RemoteViews
est publiée, les modifications apportées aux vues par
appeler des méthodes set*
ne sera pas visible dans la timeline, sauf si vous appelez explicitement
setViews
sur la carte active pour forcer une mise à jour.
Dessiner directement sur la surface de la carte en temps réel
Si votre application a besoin de mises à jour plus fréquentes (plusieurs fois par seconde) ou d'un rendu plus
plus élaborées que celles compatibles avec les widgets standards, l'affichage direct et l'ajout d'une
SurfaceHolder.Callback
à la surface de la carte.
LiveCard liveCard; // initialized elsewhere liveCard.setDirectRenderingEnabled(true); liveCard.getSurfaceHolder().addCallback(callback);
Vous pouvez ensuite dessiner directement sur la surface à l'intérieur d'un thread d'arrière-plan ou en réponse à des
(par exemple, les mises à jour des capteurs ou de la position). Utiliser surfaceCreated
et
surfaceDestroyed
pour démarrer et arrêter votre logique d'affichage lorsque la carte est
affichées ou masquées.
Notez que les méthodes de rappel du conteneur de surface ne sont pas appelées sur le thread UI principal.
Gérer la sélection de cartes en temps réel
Une fiche active doit fournir une action (un PendingIntent
pour démarrer une activité,
ou effectuer une diffusion) qui s'exécute lorsque l'utilisateur appuie pour sélectionner la carte.
Normalement, vous utiliserez cette action pour lancer une activité qui affiche un menu d'options ou
l'utilisateur dans une autre partie de votre application. Au minimum, vous devez fournir une option
qui permet à l'utilisateur de supprimer
la fiche active de la chronologie.
LiveCard liveCard; // initialized elsewhere Intent intent = new Intent(context, MyActivity.class); liveCard.setAction(PendingIntent.getActivity(context, 0, intent, 0));
Les fiches publiées sans action ne s'affichent pas.
Classes imbriquées | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
énum | LiveCard.PublishMode | Détermine la façon dont la fiche est présentée à l'utilisateur lorsqu'elle est publiée. |
Constantes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | EXTRA_FROM_LIVECARD_VOICE | Extra booléen qui indique qu'une Intent a été activée par commande vocale à partir d'une carte active. |
Constructeurs publics | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Méthodes publiques | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
LiveCard | |||||||||||
SurfaceHolder | |||||||||||
booléen | |||||||||||
vide |
navigate()
|
||||||||||
vide |
publish(mode LiveCard.PublishMode)
|
||||||||||
LiveCard |
setAction(intent PendingIntent)
|
||||||||||
LiveCard |
setDirectRenderingEnabled(activation booléenne)
|
||||||||||
LiveCard |
setRenderer(moteur de rendu GlRenderer)
|
||||||||||
LiveCard |
setViews(vues RemoteViews)
|
||||||||||
LiveCard |
setVoiceActionEnabled(activation booléenne)
|
||||||||||
vide |
Méthodes héritées | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constantes
<ph type="x-smartling-placeholder"></ph> public statique finale Chaîne EXTRA_FROM_LIVECARD_VOICE
Extra booléen qui indique qu'une Intent
a été activée par commande vocale à partir d'une carte active.
Constructeurs publics
<ph type="x-smartling-placeholder"></ph> public LiveCard (contexte Contexte, tag String)
Crée une fiche active avec le tag donné.
Notez qu'une fiche n'apparaît pas tant qu'elle n'a pas été explicitement publiée.
Paramètres
context | le contexte de l'application |
---|---|
tag | balise non nulle pour la carte. ceci à des fins de débogage |
Méthodes publiques
<ph type="x-smartling-placeholder"></ph> public LiveCard joindre (Service)
Joignez un Service
d'arrière-plan afin que lorsque cette carte soit
publié, le service donné sera configuré pour s'exécuter au premier plan.
Le service est automatiquement supprimé du premier plan la publication de la fiche active a été annulée.
Paramètres
service | sera configurée pour s'exécuter |
---|
Renvoie
- cet objet pour le chaînage d'appel
<ph type="x-smartling-placeholder"></ph> public SurfaceHolder getSurfaceHolder ()
Lorsque l'affichage direct est activé, donne accès au Surface
sur lequel dessiner.
Notez que le SurfaceHolder
renvoyé doit être utilisé simplement comme un moyen d'accéder à
gérée. Les méthodes de modification de la forme et du type de la surface sont no-ops.
Notez également que les rappels pour cet objet ne sont pas effectués dans le thread UI.
Voir également
<ph type="x-smartling-placeholder"></ph> public Booléen isPublished ()
Renvoie true
si la carte est actuellement publiée.
<ph type="x-smartling-placeholder"></ph> public vide naviguer ()
Redirige l'utilisateur vers cette fiche dans la chronologie.
Génère
IllegalStateException | si la carte n'est pas publiée |
---|
<ph type="x-smartling-placeholder"></ph> public vide publier (mode LiveCard.PublishMode)
Publication de cette fiche dans la chronologie.
La fiche ne s'affiche que si elle comporte une action, et si l'affichage direct est activé ou les vues à distance ont été définies.
Paramètres
mode | détermine la façon dont la fiche est présentée à l'utilisateur |
---|
<ph type="x-smartling-placeholder"></ph> public LiveCard setAction (Intent PendingIntent)
Modifie l'action effectuée lorsque la fiche est sélectionnée.
Paramètres
intent | se déclenche lorsque la carte est sélectionnée |
---|
Renvoie
- cet objet pour le chaînage d'appel
<ph type="x-smartling-placeholder"></ph> public LiveCard setDirectRenderingEnabled (activation booléenne)
Active l'affichage direct.
Dans ce mode, le contenu de la carte doit être affiché directement dans un Surface
.
Notez que cette méthode ne peut être appelée que lorsque la carte n'est pas publiée. Autrement, générer une exception.
Paramètres
activer | activer ou non l'affichage direct |
---|
Renvoie
- cet objet pour le chaînage d'appel
Voir également
<ph type="x-smartling-placeholder"></ph> public LiveCard setRenderer (GlRenderer)
Ajoute un moteur de rendu basé sur OpenGL.
Le moteur de rendu permet de dessiner sur une surface demandée (automatiquement) le rendu.
Renvoie
- cet objet pour le chaînage d'appel
<ph type="x-smartling-placeholder"></ph> public LiveCard setViews (RemoteViews)
Modifie le RemoteViews
utilisé pour afficher l'UI de cette carte.
Cette méthode doit également être appelée après avoir apporté des modifications directement aux vues à distance de d'une fiche publiée, sans quoi ces modifications ne seront pas répercutées sur la chronologie.
Cette méthode n'a aucun effet si l'affichage direct est activé.
Paramètres
vues | l'UI de la carte |
---|
Renvoie
- cet objet pour le chaînage d'appel
Voir également
<ph type="x-smartling-placeholder"></ph> public LiveCard setVoiceActionEnabled (activation booléenne)
Active une commande vocale lorsque la carte s'affiche dans la chronologie.
Une fois le paramètre défini, la carte écoute si le message "OK Glass" est détecté. lorsqu'ils apparaissent sur la chronologie.
lorsque cette phrase de garde est prononcée, déclenche l'intent défini par
setAction(PendingIntent)
. Si l'intent démarre une
d'activité qui implémente des menus vocaux contextuels, elle est automatiquement
ouvrir sur les premiers éléments du menu (visualisez comme si "ok Glass" était prononcé à l'intérieur de l'activité)
lui-même). Cette fonctionnalité permet d'implémenter des menus vocaux contextuels sur les cartes actives.
Paramètres
activer | si la commande vocale doit être activée |
---|
Renvoie
- cet objet pour le chaînage d'appel
Voir également
<ph type="x-smartling-placeholder"></ph> public vide annuler la publication ()
Annule la publication de cette fiche dans la chronologie.