Le profil d'appareil associé, introduit dans Android 12, est une fonctionnalité qui permet aux applications associées de demander un ensemble d'autorisations spécifiques au type d'appareil associé, par exemple une montre connectée. L'utilisation d'un profil d'appareil associé simplifie le processus d'enregistrement 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 configuration plus simple et de meilleurs taux d'activation pour les applications associées.
Pour utiliser des profils d'appareils associés, les applications associées doivent répondre aux exigences suivantes :
- Gérer un appareil associé (par exemple, une montre connectée).
- Posséder des fonctionnalités d'application ou appeler des API Android qui nécessitent toutes les autorisations définies pour le profil de l'appareil associé.
Chaque profil d'appareil associé correspond à un rôle Android. Pour en savoir plus sur les autorisations et le rôle Android correspondant de chaque profil, consultez Profils d'appareils associés pour les applications tierces.
Pour en savoir plus sur les appareils associés, consultez Associer un appareil compagnon.
Comportement de l'appareil
Cette section décrit le comportement de l'appareil lorsque des profils d'appareils associés sont utilisés.
Lorsqu'un utilisateur accepte la demande d'une application de créer une association avec un appareil associé, le service CompanionDeviceManager
(CDM) attribue le rôle de profil d'appareil (par exemple, une montre) à l'application associée, en accordant toutes les autorisations définies pour ce rôle de profil spécifique.
La figure 1 montre un exemple d'application demandant des autorisations pour le profil de l'appareil COMPANION_DEVICE_WATCH
.
Figure 1 : Boîte de dialogue demandant des autorisations pour le profil de l'appareil de la montre.
Lorsqu'un utilisateur efface les données du package dans les paramètres ou supprime tous les appareils dans l'application associée, CDM révoque le profil lorsque l'application n'est pas exécutée au premier plan et qu'aucun service de premier plan n'est en cours d'exécution. La révocation du profil entraîne également la révocation de toutes les autorisations définies pour le profil.
Une fois qu'un utilisateur a accepté la demande d'une application d'accorder des autorisations pour un profil d'appareil spécifique, il 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 associé, mais certaines fonctionnalités peuvent devenir indisponibles. Si l'autorisation est nécessaire au fonctionnement de l'application, celle-ci doit la demander via une demande d'autorisation normale.
Profils d'appareils associés pour les applications tierces
Profil de la montre
Le profil de montre est introduit dans Android 12.
Le tableau suivant décrit les autorisations définies pour le profil d'appareil COMPANION_DEVICE_WATCH
et les exigences pour les utiliser.
Autorisations | Conditions requises pour l'application et l'appareil associés |
---|---|
Notifications
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Profil des 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 exigences pour les utiliser.
Autorisations | Conditions requises pour l'application et l'appareil associés |
---|---|
NotificationsPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Implémentation
Pour les développeurs tiers qui implémentent une application associée demandant 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éation deAssociationRequest
.
Les fabricants d'appareils peuvent ignorer l'affichage de la boîte de dialogue de consentement de l'utilisateur.
Pour les fabricants d'appareils qui implémentent une application associée avec un appareil spécifique, utilisez les configurations système Android requises suivantes pour certifier l'application associée, ce qui permet à l'application de ne pas afficher la boîte de dialogue de consentement de l'utilisateur.
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 envoyer une demande d'association à un seul appareil associé.
Validation
Pour tester le comportement de la fonctionnalité de profil d'appareil associé, utilisez les tests CTS dans cts/tests/tests/companion/
.