Le profil d'appareil compagnon, introduit dans Android 12, est une fonctionnalité qui permet aux applications compagnon de demander un ensemble d'autorisations spécifiques au type d'appareil compagnon, par exemple une montre intelligente. L'utilisation d'un profil d'appareil compagnon simplifie le processus d'inscription en permettant aux applications d'afficher une seule invite aux utilisateurs sur leurs appareils mobiles pour demander un ensemble défini d'autorisations au lieu de plusieurs invites demandant des autorisations individuellement. Cela peut permettre une expérience de configuration plus rationalisée et de meilleurs taux d’adhésion pour les applications complémentaires.
Pour utiliser les profils d'appareil compagnon, les applications compagnon doivent répondre aux exigences suivantes :
- Gérez un appareil compagnon (par exemple, une montre intelligente).
- Disposez de fonctionnalités d'application ou appelez des API Android qui nécessitent toutes les autorisations définies pour le profil de l'appareil compagnon.
Chaque profil d'appareil compagnon correspond à un rôle Android. Pour plus d'informations sur les autorisations et le rôle Android correspondant de chaque profil, consultez les profils d'appareils associés pour les applications tierces .
Pour plus d'informations sur les appareils compagnons, voir Couplage d'appareils compagnons .
Comportement de l'appareil
Cette section décrit le comportement de l'appareil lorsque des profils d'appareil compagnon sont utilisés.
Lorsqu'un utilisateur accepte la demande d'une application pour créer une association avec un appareil compagnon, le service CompanionDeviceManager
(CDM) attribue le rôle de profil d'appareil (par exemple, regarder) à l'application compagnon, en accordant toutes les autorisations définies pour ce rôle de profil spécifié. La figure 1 montre un exemple d'application demandant des autorisations pour le profil d'appareil COMPANION_DEVICE_WATCH
.
Figure 1. Boîte de dialogue demandant des autorisations pour le profil de l'appareil de surveillance.
Lorsqu'un utilisateur efface les données du package dans Paramètres ou supprime tous les appareils de l'application compagnon, CDM révoque le profil tant que l'application ne s'exécute pas au premier plan et qu'aucun service de premier plan n'est en cours d'exécution. La révocation du profil révoque également toutes les autorisations définies pour le profil.
Une fois qu'un utilisateur a accepté la demande d'une application visant à accorder des autorisations pour un profil d'appareil particulier, l'utilisateur peut révoquer les autorisations individuelles qui ont été accordées. Lorsqu'une autorisation est révoquée par un utilisateur, l'application reste associée à l'appareil compagnon mais certaines fonctionnalités peuvent devenir indisponibles. Si l'autorisation est requise pour que l'application fonctionne, l'application doit demander l'autorisation via une demande d'autorisation normale.
Profils d'appareils compagnons pour les applications tierces
Regarder le profil
Le profil de montre est introduit dans Android 12.
Le tableau suivant décrit les autorisations définies pour le profil de périphérique COMPANION_DEVICE_WATCH
et les conditions requises pour leur utilisation.
Autorisations | Exigences relatives à l'application compagnon et à l'appareil |
---|---|
NotificationsBIND_NOTIFICATION_LISTENER_SERVICE |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Profil de lunettes
Le profil Glasses est introduit dans Android 14.
Le tableau suivant décrit les autorisations définies pour le profil d'appareil COMPANION_DEVICE_GLASSES
et les conditions requises pour leur utilisation.
Autorisations | Exigences relatives à l'application compagnon et à l'appareil |
---|---|
NotificationsBIND_NOTIFICATION_LISTENER_SERVICE POST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Mise en œuvre
Pour les développeurs tiers implémentant une application compagnon qui demande le profil DEVICE_PROFILE_WATCH
, procédez comme suit :
Appelez la méthode
setDeviceProfile
.Transmettez un profil (par exemple,
DEVICE_PROFILE_WATCH
lors de la créationAssociationRequest
.
Les fabricants d'appareils doivent ignorer l'affichage de la boîte de dialogue de consentement de l'utilisateur
Pour les fabricants d'appareils implémentant une application compagnon avec un appareil spécifique, utilisez les configurations système Android requises suivantes pour certifier l'application compagnon, ce qui permet à l'application d'ignorer l'affichage de la boîte de dialogue de consentement de l'utilisateur pour les utilisateurs.
Récupérez le certificat à l'aide de la commande suivante :
keytool -printcert -jarfile PATH/TO/APK
Remplacez le nom du package et le certificat comme indiqué dans l'exemple d'entrée suivant dans le fichier de configuration :
<!-- A list of packages managing companion device(s) by the same manufacturers as the main device. It will not create the association without prompting if the association has been called multiple times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts are parallel arrays. --> <string-array name="config_companionDevicePackages" translatable="false"> <item>YOUR_COMPANION_APP_PACKAGE_NAME</item> </string-array> <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the main device. It will fall back to showing a prompt if the association has been called multiple times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage are parallel arrays. Example: "1A:2B:3C:4D" --> <string-array name="config_companionDeviceCerts" translatable="false"> <item>YOUR_COMPANION_APP_CERTIFICATE</item> </string-array>
Utilisez
AssociationRequest
pour effectuer une demande d’association à un seul appareil compagnon.
Validation
Pour tester le comportement de la fonctionnalité de profil d'appareil compagnon, utilisez les tests CTS dans cts/tests/tests/companion/
.