Vous consultez actuellement l'aide de la version:

Cette page décrit la mise en œuvre de la fonction Android Watchdog.

Un watchdog est une solution permettant de restaurer le lecteur suite à une panne. Les applications doivent s’inscrire auprès du service watchdog, puis envoyer régulièrement des messages au service lui indiquant qu’elles sont actives. Au cas où le service watchdog ne reçoit pas de message de maintien en activité dans le délai imparti, le service tente de redémarrer l’appareil pour une restauration propre (s’il dispose des droits suffisants) ou de redémarrer l’application.

Mise en œuvre d’Android Watchdog

En raison de l’architecture d’Android, le redémarrage de l’appareil requiert que l’application dispose d’autorisations système. Pour ce faire, vous devez signer le fichier apk à l’aide des clés de signature du fabricant, faute de quoi le service watchdog redémarre l’application du lecteur, mais pas l’appareil.

Signature de fichiers apk Android à l’aide des clés du fabricant

Pour accéder à certaines des API privilégiées d’Android telles que PowerManager ou HDMIControlServices, vous devez signer le fichier apk Android à l’aide des clés du fabricant.

Attention :

Conditions préalables :

Le kit SDK Android doit être installé avant que vous n’exécutiez les étapes suivantes.

Suivez les étapes ci-dessous pour signer le fichier apk Android à l’aide des clés du fabricant :

  1. Téléchargez le fichier apk à partir de Google Play ou de la page Téléchargements de lecteur AEM Screens.
  2. Procurez-vous les clés de plateforme du fabricant pour obtenir un fichier pk8 et pem.
  3. Localisez l’outil apksigner dans le kit SDK Android à l’aide de la commande find ~/Library/Android/sdk/build-tools -name "apksigner"
  4. <pathto> /apksigner sign --key platform.pk8 --cert platform.x509.pem aemscreensplayer.apk
  5.  Recherchez le chemin d’accès à l’outil d’alignement zip dans le SDK Android.
  6. <pathto> /zipalign -fv 4 aemscreensplayer.apk aemscreensaligned.apk
  7. Installez aemscreensaligned.apk via adb install sur l’appareil.

Mise en œuvre du watchdog Android

Le service watchdog Android est mis en œuvre en tant que module externe cordova via AlarmManager.

Le diagramme suivant illustre la mise en œuvre du service watchdog :

chlimage_1

1. Initialisation

Au moment de l’initialisation du module externe cordova, les autorisations sont vérifiées pour voir si nous disposons des autorisations système et donc de l’autorisation Redémarrer. Si ces deux critères sont satisfaits, une tentative en attente d’exécution de Redémarrer est créée. Dans le cas contraire, une tentative en attente de redémarrage de l’application (en fonction de son activité de lancement) est créée.

2. Minuteur de maintien en activité

Un minuteur de maintien en activité est utilisé pour déclencher un événement toutes les 15 secondes. Dans cet événement, vous devez annuler la tentative en attente existante (pour redémarrer l’application) et enregistrer une nouvelle tentative en attente pour les mêmes 60 secondes à l’avenir (en remettant à plus tard le redémarrage).

Remarque :

Sous Android, AlarmManager est utilisé pour enregistrer les pendingIntents qui peuvent s’exécuter même si l’application est en panne et que sa distribution d’alarme est incorrecte à partir d’API 19 (Kitkat). Conservez un certain espace entre l’intervalle du minuteur et l’alarme pendingIntent de AlarmManager.

3. Panne d’application

En cas de panne, le pendingIntent pour la commande Redémarrer enregistré avec AlarmManager n’est plus réinitialisé et donc exécute un redémarrage de l’application (en fonction des autorisations disponibles lors de l’initialisation du module externe cordova).

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne