LiveCard

Ajouté au niveau d'API XE12
classe publique

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
LiveCard(contexte de contexte, balise String)
Méthodes publiques
LiveCard
attach(service Service)
SurfaceHolder
booléen
vide
vide
LiveCard
LiveCard
setDirectRenderingEnabled(activation booléenne)
LiveCard
setRenderer(moteur de rendu GlRenderer)
LiveCard
LiveCard
setVoiceActionEnabled(activation booléenne)
vide
Méthodes héritées

Constantes

Ajouté au niveau d'API XE21

<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.

Valeur de la constante: <ph type="x-smartling-placeholder"></ph> &quot;android.intent.extra.EXTRA_FROM_LIVECARD&quot;

Constructeurs publics

Ajouté au niveau d'API XE16

<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

Ajouté au niveau d'API XE16

<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
Ajouté au niveau d'API XE12

<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.

Ajouté au niveau d'API XE12

<ph type="x-smartling-placeholder"></ph> public Booléen isPublished ()

Renvoie true si la carte est actuellement publiée.

Ajouté au niveau d'API XE16

<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
Ajouté au niveau d'API XE12

<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
Ajouté au niveau d'API XE12

<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
Ajouté au niveau d'API XE12

<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
Ajouté au niveau d'API XE16

<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
Ajouté au niveau d'API XE12

<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
Ajouté au niveau d'API XE21

<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
Ajouté au niveau d'API XE12

<ph type="x-smartling-placeholder"></ph> public vide annuler la publication ()

Annule la publication de cette fiche dans la chronologie.