ASSISTANT |
Au moins l'un des éléments suivants :
- L'application dispose d'une activité qui effectue des actions d'assistance, en fonction des informations sur le contexte de l'utilisateur lorsqu'il a demandé l'assistance (par exemple, le nom du package de l'application de premier plan actuelle et ses informations contextuelles).
- L'application dispose d'un service d'interaction vocale permanent contrôlé par l'autorisation
android.permission.BIND_VOICE_INTERACTION , qui peut effectuer la reconnaissance vocale et héberger des sessions d'interaction vocale actives.
De plus, l'application dispose d'un indicateur explicite indiquant que le service est capable de gérer l'action d'assistance.
|
BROWSER |
Tous les éléments suivants :
- L'application dispose d'une activité que les applications peuvent appeler via des requêtes d'intent implicites, qui affiche une page Web correspondant à une adresse
http:// .
- L'application doit gérer la navigation entre les liens. Autrement dit, si l'utilisateur consulte une page Web et clique sur une adresse
http:// dans le texte, l'application doit pouvoir afficher le contenu correspondant au lien sélectionné sans intervention supplémentaire de l'utilisateur.
- L'application doit pouvoir fournir les informations de géolocalisation actuelles de l'appareil aux pages Web lorsqu'elles sont demandées et que l'utilisateur approuve la demande.
|
DIALER |
Tous les éléments suivants :
- L'application dispose d'une activité que les applications peuvent appeler via des requêtes d'intent implicites, qui fournit l'interface utilisateur de l'appel lorsque l'appareil est en ligne.
- L'application peut gérer les intents d'appel entrants, afficher les informations liées à l'appel (par exemple, le numéro de téléphone de l'appelant) à l'utilisateur et lui permettre de répondre ou de refuser l'appel.
- L'application permet à l'utilisateur de passer des appels et de consulter l'historique des appels sur son appareil.
|
SMS |
Tous les éléments suivants :
- L'application répond à toutes les exigences concernant les applications de SMS.
- L'application dispose d'une activité que les applications peuvent appeler via des requêtes d'intent implicites, qui peuvent envoyer un message à un numéro de téléphone.
- L'application dispose d'un service limité par l'autorisation
android.permission.SEND_RESPOND_VIA_MESSAGE et invocable par des intents implicites, qui peuvent transmettre les messages reçus de l'application Téléphone lorsque l'utilisateur choisit de répondre par message lors d'un appel entrant. L'application peut envoyer des messages via son propre système de messagerie.
- L'application dispose de deux broadcast receivers, l'un contrôlé par l'autorisation
android.permission.BROADCAST_SMS et l'autre contrôlé par l'autorisation android.permission.BROADCAST_WAP_PUSH , qui peuvent écouter les messages SMS et MMS textuels envoyés à l'appareil, respectivement. L'application est ensuite chargée d'écrire les messages au fournisseur de SMS et d'en informer les utilisateurs.
|
EMERGENCY |
Tous les éléments suivants :
- L'application est une application système.
- L'application comporte une activité qui présente les informations d'urgence de l'utilisateur.
N'importe qui peut accéder à cet écran via le bouton d'urgence de l'activité Téléphone d'urgence.
|
HOME |
L'application dispose d'une activité qui peut lancer l'écran d'accueil lorsque l'utilisateur appuie sur le bouton d'accueil. L'écran d'accueil doit afficher des icônes d'application, des widgets et prendre en charge la navigation basée sur des boutons ou des gestes (par exemple, balayer l'écran vers le haut pour afficher toutes les applications).
|
CALL_REDIRECTION |
L'application dispose d'un service limité par l'autorisation android.permission.BIND_CALL_REDIRECTION_SERVICE , auquel le framework de télécommunications peut se lier. Le service reçoit le numéro de téléphone sortant du framework télécom et effectue l'une des actions suivantes :
- Autorisez l'appel tel quel.
- Modifiez le numéro de sortie pour qu'il soit acheminé via un numéro de proxy.
- Annulez l'appel.
|
CALL_SCREENING |
L'application dispose d'un service contrôlé par l'autorisation android.permission.BIND_SCREENING_SERVICE , qui remplit deux fonctions :
- Blocage et filtrage des appels:le service peut choisir les appels à envoyer à l'application Téléphone du téléphone (et éventuellement sonner, en fonction du mode Ne pas déranger ou du volume), et ceux à envoyer de manière silencieuse à la messagerie vocale.
- Identification des appels:le service peut identifier et afficher des informations sur un appel via une interface utilisateur.
|
SYSTEM_GALLERY |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application fournit une UI permettant aux utilisateurs de stocker, d'organiser et d'afficher leurs vidéos et images.
|
SYSTEM_AUTOMOTIVE_CLUSTER |
Tous les éléments suivants :
- L'application est une application système sur Automotive.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application permet aux utilisateurs de répondre aux appels téléphoniques et d'accéder aux listes de contacts et aux journaux d'appels sur un écran de cluster automobile (généralement à côté du volant).
|
COMPANION_DEVICE_WATCH |
L'application peut envoyer des requêtes pour être associée à un appareil de montre et le gérer (à l'aide de l'API fournie par la classe CompanionDeviceManager ). Lorsque la montre et l'application sont associées via l'UI fournie par l'application, les utilisateurs peuvent gérer leur montre depuis l'application, y compris synchroniser les contacts et l'agenda, et gérer les notifications et les appels téléphoniques.
|
SYSTEM_AUTOMOTIVE_PROJECTION |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application permet de projeter l'écran du téléphone sur l'écran du véhicule. Il permet aux conducteurs d'accéder aux applications sur les téléphones Android et de les contrôler, y compris la musique, la navigation, les appels téléphoniques et la recherche, à l'aide de mécanismes d'entrée dans le véhicule, y compris les commandes tactiles, le volant et les commandes vocales.
|
SYSTEM_SHELL |
Tous les éléments suivants :
- L'application est une application système à laquelle est attribué l'UID
Process.SHELL_UID .
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application fournit une interface qui fonctionne au niveau de la ligne de commande afin que les utilisateurs puissent interagir avec l'OS Android. (par exemple, afficher le contenu d'un dossier ou lancer des applications). Les commandes shell peuvent être exécutées de manière programmatique par les applications (si les autorisations nécessaires ont été accordées) ou à partir de l'outil ADB.
|
SYSTEM_CONTACTS |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application fournit une UI permettant aux utilisateurs de gérer leurs contacts (par exemple, de les afficher, de les partager, d'en ajouter, d'en supprimer ou de les rechercher). L'application met à jour le fournisseur de contacts lorsque l'utilisateur met à jour ses contacts depuis l'application. Les utilisateurs peuvent également appeler, envoyer des e-mails ou des SMS à leurs contacts depuis l'application.
|
SYSTEM_SPEECH_RECOGNIZER |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application fournit un service capable d'effectuer la reconnaissance vocale.
- Lorsque l'application reçoit des flux de micro en direct d'une autre application pour la reconnaissance vocale, elle attribue correctement l'utilisation du micro à l'application appelante et met à jour les statistiques d'opération de l'application en conséquence.
|
SYSTEM_WIFI_COEX_MANAGER |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application dispose d'un service qui définit de manière dynamique une liste de canaux Wi-Fi que l'appareil doit éviter d'utiliser en raison d'interférences cellulaires.
|
SYSTEM_WELLBEING |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application doit permettre aux utilisateurs de réduire les distractions et de leur fournir des statistiques sur la façon dont ils utilisent leur appareil (par exemple, leur temps d'écran par semaine).
|
SYSTEM_TELEVISION_NOTIFICATION_HANDLER |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application doit afficher des notifications d'alerte aux utilisateurs sur les appareils TV. L'application doit également afficher les notifications actives actuelles lorsque l'intent
android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL est envoyé (à partir de SystemUI).
|
SYSTEM_COMPANION_DEVICE_PROVIDER |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application doit pouvoir détecter les périphériques à proximité. Elle doit disposer d'une UI permettant à l'utilisateur de confirmer qu'un appareil périphérique donné doit être associé à une application et géré par elle. Lorsque l'utilisateur confirme, l'application de gestion accorde à l'application associée l'autorisation d'accéder à l'appareil périphérique (par exemple, son nom, son adresse, sa classe et son état d'association) et peut démarrer le processus d'association.
|
SYSTEM_DOCUMENT_MANAGER |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application comporte une activité qui permet aux utilisateurs d'accéder aux documents existants et de créer des documents sur l'appareil.
- L'application doit respecter toutes les exigences décrites dans la section 2.2.3 du CDD Android. Logiciel sous la rubrique [3.2.3.1/H-0-1].
|
SYSTEM_ACTIVITY_RECOGNIZER |
Tous les éléments suivants :
- L'application est une application système.
- L'application dispose d'un service contrôlé par
android.permission.ACTIVITY_RECOGNITION , qui peut effectuer la reconnaissance d'activité (par exemple, course à pied ou vélo).
|
SYSTEM_UI |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application dispose d'une interface permettant aux utilisateurs d'interagir avec leur téléphone. Par exemple, l'écran principal du téléphone, la navigation, les applications récentes, les paramètres rapides, la barre de notification, l'écran de verrouillage et le contrôle du volume.
|
SYSTEM_TELEVISION_REMOTE_SERVICE |
Tous les éléments suivants :
- L'application est une application système sur Android TV.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application dispose d'un service pouvant communiquer avec l'appareil HID de la télécommande du téléviseur (par exemple, via BLE), injecter des événements (par exemple, des clics de bouton) et envoyer d'autres données (par exemple, le flux audio d'un micro intégré à la télécommande) sur la plate-forme.
|
SYSTEM_UI_INTELLIGENCE |
Tous les éléments suivants :
- Il s'agit d'un service préinstallé qui fournit, via des API de framework (API publiques ou système), un processeur intelligent sur l'appareil pour les fonctionnalités d'UI du système (par exemple, la prédiction et l'affichage des prochaines applications pour les utilisateurs).
- Le service doit respecter toutes les exigences décrites dans la section 9.8.6 Capture de contenu du CDD Android.
- Le service ne peut pas disposer de l'autorisation
android.permission.INTERNET . Au lieu de cela, il doit accéder à Internet via des API bien définies dans un projet Open Source.
- Le service ne peut pas se lier aux applications, à l'exception des applications système suivantes : Bluetooth, Contacts, Média, Téléphonie, SystemUI et les composants fournissant des API Internet. Chaque liaison autorisée doit être configurée explicitement via la configuration
<allow-association> dans la configuration système.
- Le service ne peut pas partager de données avec les applications, sauf en cas d'action directe de l'utilisateur (par exemple, l'utilisateur appuie explicitement sur un bouton chaque fois que les données sont partagées).
|
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE |
Tous les éléments suivants :
- Identiques aux conditions pour
SYSTEM_UI_INTELLIGENCE , à l'exception du fait que le service préinstallé fournit un processeur intelligent sur l'appareil pour l'audio ambiant (par exemple, pour reconnaître les titres diffusés à proximité de l'appareil).
|
SYSTEM_AUDIO_INTELLIGENCE |
Tous les éléments suivants :
- Identiques aux conditions pour
SYSTEM_UI_INTELLIGENCE , à l'exception du fait que le service préinstallé fournit un processeur intelligent sur l'appareil pour l'audio (par exemple, pour les sous-titres de vidéos, de podcasts, d'appels téléphoniques, d'appels vidéo et de messages audio).
|
SYSTEM_NOTIFICATION_INTELLIGENCE |
Tous les éléments suivants :
- Identiques aux conditions pour
SYSTEM_UI_INTELLIGENCE , à l'exception que le service préinstallé fournit un processeur intelligent sur l'appareil pour les notifications (par exemple, en suggérant des réponses et des actions pour les notifications de messages).
|
SYSTEM_TEXT_INTELLIGENCE |
Tous les éléments suivants :
- Identiques aux conditions pour
SYSTEM_UI_INTELLIGENCE , à l'exception que le service préinstallé fournit un processeur intelligent sur l'appareil pour le texte (par exemple, en fournissant une traduction en direct ou une saisie automatique).
|
SYSTEM_VISUAL_INTELLIGENCE |
Tous les éléments suivants :
- Identiques aux conditions pour
SYSTEM_UI_INTELLIGENCE , à l'exception du fait que le service préinstallé fournit un processeur intelligent sur l'appareil pour les fonctionnalités visuelles qui impliquent d'analyser les données de la caméra. Par exemple, maintenir l'écran du téléphone allumé lorsque l'utilisateur le regarde ou déterminer l'orientation idéale de l'écran en fonction de l'orientation du visage de l'utilisateur à partir de la caméra avant de l'appareil.
|
COMPANION_DEVICE_APP_STREAMING |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- À partir d'Android 15
Lors de l'établissement de la connexion initiale de l'appareil A à l'appareil B :
Les deux appareils DOIVENT avoir au moins un compte correspondant dans leur AccountManager , et l'association doit être confirmée par un code à usage unique.
- L'utilisateur doit confirmer le mot de passe du compte sur l'appareil à distance secondaire lors de l'association des appareils, ou
- Le code à usage unique doit s'afficher sur l'appareil source et être saisi sur l'appareil connecté.
- Aucune plage requise pendant le streaming.
Ou les appareils A et B DOIVENT être à portée du signal Bluetooth l'un de l'autre, et le streaming doit être autorisé à l'aide d'un code à usage unique.
- Le code à usage unique s'affiche sur l'appareil source et est saisi sur l'appareil connecté.
- Les appareils doivent rester à portée du signal Bluetooth l'un de l'autre pendant le streaming.
- L'application peut créer et gérer des canaux de communication avec les appareils connectés afin qu'ils puissent échanger des données. L'application et les appareils connectés doivent s'authentifier mutuellement (par exemple, en prouvant leur connaissance des clés partagées) pour établir ces canaux de communication.
Les canaux de communication doivent être protégés par chiffrement.
- L'application peut envoyer des notifications de l'appareil local à l'appareil connecté pour permettre à l'utilisateur d'effectuer des actions sur les notifications sur l'appareil connecté.
- être en mesure de diffuser les métadonnées nécessaires au streaming d'applications sur l'appareil connecté, telles que la liste des applications disponibles sur l'appareil local ;
- Possibilité de diffuser des applications depuis l'appareil local vers l'appareil connecté une fois que l'utilisateur a indiqué son souhait de le faire avec un consentement explicite (sur le téléphone ou sur l'appareil connecté).
- Possibilité de lire (injecter) les événements qui se produisent sur une application lue en streaming sur un appareil connecté sur l'appareil local. Par exemple, la lecture d'un événement tactile sur la tablette aux mêmes coordonnées sur le téléphone.
- L'application peut remplacer le flux du micro de l'appareil local par le flux du micro d'un appareil connecté lorsqu'une application en streaming utilise le micro.
- L'application capture le contenu audio de l'appareil et le diffuse sur l'appareil connecté.
- Doit bloquer le flux de la caméra de l'appareil local lorsqu'une application en streaming utilise la caméra.
- Doit vérifier l'intégrité du build de l'OS de l'appareil connecté (par exemple, à l'aide de l'attestation de l'appareil comme dans
VerifiedBootState ).
- Ne diffusez des applications que si un seul compte correspond dans le registre de comptes sur l'appareil (par exemple, la classe
AccountManager sur Android) sur les deux appareils.
Dans le cas contraire, le streaming doit être autorisé à l'aide d'un code à usage unique affiché sur l'appareil source et saisi sur l'appareil connecté. Notez que pour les appareils compatibles avec le mode multi-utilisateur (et non multi-compte) avec la même isolation fiable des données que dans le mode multi-utilisateur Android, un utilisateur compte comme un appareil.
- Doit arrêter le streaming et se déconnecter immédiatement d'un appareil connecté si l'authentification du compte sur l'appareil connecté expire ou est révoquée.
- Les sessions de streaming d'application en cours doivent être interrompues si l'utilisateur n'interagit pas avec l'appareil connecté (par exemple, si le clavier, l'écran tactile et la souris sont inactifs) pendant cinq minutes. Les applications de streaming vidéo ne sont pas concernées par cette exigence.
- À partir d'Android 15
Doit déconnecter tous les appareils virtuels à l'expiration du délai d'inactivité de l'appareil à distance sur lequel le contenu de l'écran est visible. Peut laisser l'écran de l'appareil à distance allumé dans des cas tels que WakeLock, qui maintient l'écran de l'appareil Android allumé. Un délai avant expiration d'inactivité doit être présent. Si l'appareil à distance ne dispose pas d'un délai d'inactivité par lui-même, un délai d'inactivité maximal de cinq minutes doit être utilisé.
- Si l'appareil source utilise le facteur de connaissance de l'écran de verrouillage (LSKF), lorsque l'écran est verrouillé, l'application ne doit pas diffuser d'applications sur un appareil connecté, sauf si cet appareil dispose d'un écran de verrouillage et qu'il est déverrouillé.
- Si l'appareil est géré par un administrateur, l'application doit respecter les règles définies par l'administrateur concernant l'activation ou la désactivation du streaming d'application vers les appareils à proximité (par exemple, à l'aide des paramètres
DevicePolicyManager sur Android).
- Doit s'assurer que l'écran distant et toutes les sources d'événements d'entrée à distance appartiennent au même appareil logique (par exemple, un écran distant et un clavier connecté) du point de vue de l'utilisateur, et que les événements sont acheminés en conséquence.
- L'utilisateur doit pouvoir arrêter la diffusion depuis l'appareil local, par exemple à l'aide d'un bouton dans une notification persistante. Ce comportement est contrôlé par l'écran de verrouillage, si le verrouillage de l'écran est configuré sur le téléphone.
À partir d'Android 15, vous devez afficher cette affordance persistante sur l'appareil local, qui est toujours visible et au-dessus du pli.
- Doit afficher une affordance sur l'appareil source lorsque le streaming se produit sur un autre appareil, comme une icône dans la barre d'état ou une notification persistante.
|
DEVICE_POLICY_MANAGEMENT |
Tous les éléments suivants :
- Seuls les OEM peuvent accorder ce rôle à l'application. Les applications ne peuvent pas demander ce rôle, car il est censé être accordé dès la sortie de l'usine au nom du package défini par l'OEM lors de l'expédition de l'appareil.
- L'application doit pouvoir provisionner un profil géré (propriétaire du profil) ou un appareil géré (propriétaire de l'appareil), y compris télécharger et installer le client Device Policy approprié pour être le propriétaire de l'appareil/du profil, le cas échéant.
- L'application peut éventuellement mettre à jour de manière dynamique des ressources telles que des chaînes, des drawables utilisés pour la gestion des règles relatives aux appareils.
- L'application peut être une application système préinstallée ou téléchargée et installée avant le provisionnement.
- Pour les cas de provisionnement du propriétaire de profil, lorsque l'application du titulaire du rôle est installée sur un utilisateur Android donné, elle doit être installée sur tous les profils applicables de cet utilisateur.
|
SYSTEM_APP_PROTECTION_SERVICE |
Tous les éléments suivants :
- L'application est une application système.
- Le seul but de l'application est de détecter les applications potentiellement dangereuses (applications pouvant mettre en danger les utilisateurs, leurs données ou leurs appareils, telles que les chevaux de Troie, les applications d'hameçonnage et les logiciels espions) ou les logiciels mobiles indésirables.
- L'application doit respecter toutes les exigences décrites dans la section 9.8.6 du CDD Android.
Données au niveau de l'OS et données ambiantes
- L'application ne doit pas déclarer l'autorisation normale
android.permission.INTERNET . Il doit plutôt accéder à Internet via des API bien définies dans un projet Open Source.
- L'application ne doit pas se lier à des applications, à l'exception des applications système suivantes : Permission Controller et les composants fournissant des API de téléphonie et d'Internet. Chaque liaison autorisée doit être configurée explicitement via la configuration
<allow-association> dans la configuration système.
- L'application ne doit pas partager de données avec d'autres applications, sauf en cas d'action directe de l'utilisateur (par exemple, l'utilisateur appuie explicitement sur un bouton chaque fois que les données sont partagées).
|
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- L'application doit transférer les données de calendrier du téléphone iOS ou Android de l'utilisateur vers l'appareil Android Auto. L'appareil Android Auto doit stocker ces données d'agenda dans le fournisseur d'agenda.
- L'application doit fournir un composant d'UI sur le téléphone que l'utilisateur peut utiliser pour activer la synchronisation des agendas et sélectionner les agendas à synchroniser. L'application doit fournir un composant d'UI sur le téléphone que l'utilisateur peut utiliser pour désactiver la synchronisation du calendrier.
- L'application doit fonctionner sans connexion Internet. Par exemple, en utilisant des connexions filaires ou sans fil directes.
|
AUTOMOTIVE_NAVIGATION |
Tous les éléments suivants :
- L'application comporte une activité que les applications peuvent appeler via des requêtes d'intent implicites, qui affichent la position et les environs actuels de l'utilisateur.
- L'application dispose d'une activité que les applications peuvent appeler via des requêtes d'intent implicites, ce qui permet à l'utilisateur d'accéder à une géolocalisation spécifiée.
- L'application dispose d'une activité lancée sur le groupe d'instruments lorsque l'application détient le focus de navigation.
L'activité doit afficher la position actuelle de l'utilisateur, son environnement et lui permettre d'accéder à une géolocalisation spécifiée.
|
COMPANION_DEVICE_COMPUTER |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- Permettre aux utilisateurs de dupliquer les notifications et d'accéder aux photos et aux contenus multimédias du téléphone sur un ordinateur connecté.
|
SYSTEM_SETTINGS_INTELLIGENCE |
Au moins l'un des éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- Fournit un service qui fournit des fonctionnalités d'intelligence pour l'application Paramètres, telles que les suggestions et la recherche.
|
NOTES |
Tous les éléments suivants :
|
COMPANION_DEVICE_GLASSES |
L'application peut demander à être associée à un appareil de lunettes et à le gérer (à l'aide de l'API fournie par la classe CompanionDeviceManager ). Lorsque les lunettes et l'application sont connectées à l'aide de l'UI fournie par CDM, les utilisateurs peuvent gérer leurs lunettes en leur donnant accès aux contacts, et l'autorisation de gérer les notifications et les appels téléphoniques.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
Tous les éléments suivants :
- L'application est une application système.
- Seuls les OEM peuvent attribuer ce rôle à l'application.
- À partir d'Android 15
Lors de l'établissement de la connexion initiale de l'appareil A à l'appareil B :
Les deux appareils DOIVENT avoir au moins un compte correspondant dans leur AccountManager , et l'association doit être confirmée par un code à usage unique.
- L'utilisateur doit confirmer le mot de passe du compte sur l'appareil à distance secondaire lors de l'association des appareils, ou
- Le code à usage unique doit s'afficher sur l'appareil source et être saisi sur l'appareil connecté.
- Aucune plage requise pendant le streaming.
Ou les appareils A et B DOIVENT être à portée du signal Bluetooth l'un de l'autre, et le streaming doit être autorisé à l'aide d'un code à usage unique.
- Le code à usage unique s'affiche sur l'appareil source et est saisi sur l'appareil connecté.
- Les appareils doivent rester à portée du signal Bluetooth l'un de l'autre pendant le streaming.
- L'application peut créer et gérer des canaux de communication avec les appareils connectés afin qu'ils puissent échanger des données. L'application et les appareils connectés doivent s'authentifier mutuellement (par exemple, en prouvant leur connaissance des clés partagées) pour établir ces canaux de communication.
Les canaux de communication doivent être protégés par le chiffrement de bout en bout.
- L'application peut envoyer des notifications de l'appareil local à l'appareil connecté pour permettre à l'utilisateur d'effectuer des actions sur les notifications sur l'appareil connecté.
- être en mesure de diffuser les métadonnées nécessaires au streaming d'applications sur l'appareil connecté, telles que la liste des applications disponibles sur l'appareil local ;
- Possibilité de diffuser des applications depuis l'appareil local vers l'appareil connecté une fois que l'utilisateur a indiqué son souhait de le faire avec un consentement explicite (sur le téléphone ou sur l'appareil connecté).
- Possibilité de lire (injecter) les événements qui se produisent sur une application lue en streaming sur un appareil connecté sur l'appareil local. Par exemple, la lecture d'un événement tactile sur la tablette aux mêmes coordonnées que sur le téléphone ou la lecture d'un événement d'entrée qui s'est produit sur les lunettes avec la même sémantique d'entrée que sur le téléphone.
- L'application peut remplacer le flux du micro de l'appareil local par le flux du micro d'un appareil connecté lorsqu'une application en streaming utilise le micro.
- L'application capture le contenu audio de l'appareil et le diffuse sur l'appareil connecté.
- Doit vérifier l'intégrité du build de l'OS de l'appareil connecté (par exemple, à l'aide de l'attestation de l'appareil comme dans
VerifiedBootState ).
- Ne diffusez des applications que pour lesquelles il n'existe qu'un seul compte correspondant dans le registre de comptes sur l'appareil (par exemple, la classe
AccountManager sur Android) sur les deux appareils.
Dans le cas contraire, le streaming doit être autorisé à l'aide d'un code à usage unique affiché sur l'appareil source et saisi sur l'appareil connecté. Notez que pour les appareils compatibles avec le mode multi-utilisateur (et non multi-compte) avec la même isolation fiable des données que dans le mode multi-utilisateur Android, un utilisateur compte comme un appareil.
- Doit immédiatement arrêter la diffusion et se déconnecter d'un appareil connecté si l'authentification du compte sur l'appareil connecté expire ou est révoquée.
- Si l'appareil source utilise LSKF, lorsque l'écran est verrouillé, l'application ne doit pas diffuser d'applications sur un appareil connecté, sauf si cet appareil dispose d'un écran de verrouillage et qu'il est déverrouillé.
- Si l'appareil est géré par un administrateur, l'application doit respecter les règles définies par l'administrateur concernant l'activation ou la désactivation du streaming vers les appareils à proximité (par exemple, à l'aide des paramètres
DevicePolicyManager sur Android).
- Doit s'assurer que l'écran distant et toutes les sources d'événements d'entrée à distance appartiennent au même appareil logique (par exemple, un écran distant et un clavier connecté) du point de vue de l'utilisateur, et que les événements sont acheminés en conséquence.
- L'utilisateur doit pouvoir arrêter la diffusion depuis l'appareil local, par exemple à l'aide d'un bouton dans une notification persistante. Ce comportement est contrôlé par l'écran de verrouillage, si le téléphone est verrouillé.
- Doit afficher une affordance sur l'appareil source lorsque le streaming se produit sur un autre appareil, comme une icône dans la barre d'état ou une notification persistante.
|
WALLET |
Au choix :
- L'application dispose d'un service APDU NFC qui enregistre de manière statique au moins un AID dans la catégorie "PAYMENT".
- L'application implémente une instance de
QuickAccessWalletService .
|