La nouvelle API de flux pour ajouter des raccourcis et des widgets dans Android 8.0 permet aux développeurs d'applications d'ajouter des raccourcis et des widgets depuis l'application au lieu de s'appuyer sur la barre des widgets. Pour des raisons de sécurité, l'ancienne méthode (l'envoi d'une diffusion) d'ajout de raccourcis est également abandonnée.
Les lanceurs doivent prendre en charge cette nouvelle implémentation afin que les développeurs d'applications puissent s'appuyer sur le système pour ajouter leur raccourci ou leur widget.
Exemples et source
Les documents sont disponibles dans différentes classes système. Les références incluent les éléments suivants:
- ShortcutManager.java
Publiez la section "Raccourcis épinglés" dans l'en-tête. - Intent.java
Javadoc pour ACTION_CREATE_SHORTCUT. - AppWidgetManager.java
Javadoc pour requestPinAppWidget.
Implémentation
Les implémentateurs d'appareils doivent ajouter une activité dans leur lanceur avec des actions de filtre d'intent:
android.content.pm.action.CONFIRM_PIN_SHORTCUT
android.content.pm.action.CONFIRM_PIN_APPWIDGET
Pour en savoir plus, consultez la documentation de l'API.
Cette activité doit afficher une invite de confirmation à l'utilisateur pour ajouter le widget/raccourci demandé. Une fois l'utilisateur ayant accepté, le widget/raccourci correspondant doit être ajouté à l'écran d'accueil.
Dans le cas des widgets, l'appel accept()
doit inclure l'ID du widget nouvellement ajouté.
Implémenter une UI du système
Les partenaires doivent mettre à jour leur application de lanceur en utilisant l'implémentation Launcher3 (packages/apps/Launcher3
) comme référence.
Recherchez les modifications Launcher3 pertinentes dans le projet Android Open Source (AOSP):
- Change-Id: 8b2002e28072c52d78f6d052c6ff6da50a2d0324
- Change-Id: 278359539c02ca160caf1df54ce96053a2a2ef59
Validation
Pour valider la fonctionnalité, essayez d'ajouter des raccourcis depuis Chrome ou l'application Contacts, et vérifiez qu'une invite de confirmation appropriée s'affiche. Une fois l'acceptation effectuée, l'icône doit être ajoutée à l'écran d'accueil, et Chrome doit afficher une notification de réussite.