Profili del dispositivo complementare

Il profilo del dispositivo associato, introdotto in Android 12, è una funzionalità che consente alle app complementari di richiedere una serie di autorizzazioni specifiche per il tipo di dispositivo associato, ad esempio uno smartwatch. L'utilizzo di un profilo del dispositivo complementare semplifica il processo di registrazione consentendo alle app di visualizzare un'unica richiesta agli utenti sui propri dispositivi mobili per richiedere un set definito di autorizzazioni invece di più richieste che richiedono autorizzazioni singolarmente. Ciò può consentire un'esperienza di configurazione più semplificata e migliori tariffe di attivazione per le app complementari.

Per utilizzare i profili del dispositivo complementare, le app complementari devono soddisfare i seguenti requisiti:

  • Gestisci un dispositivo complementare (ad esempio uno smartwatch).
  • Disporre di funzionalità dell'app o chiamare API Android che richiedono tutte le autorizzazioni definite per il profilo del dispositivo complementare.

Ogni profilo del dispositivo associato corrisponde a un ruolo Android. Per ulteriori informazioni sulle autorizzazioni e sul ruolo Android corrispondente di ciascun profilo, consulta Profili dei dispositivi complementari per app di terze parti .

Per ulteriori informazioni sui dispositivi associati, vedere Associazione dei dispositivi associati .

Comportamento del dispositivo

Questa sezione descrive il comportamento del dispositivo quando vengono utilizzati i profili del dispositivo complementare.

Quando un utente accetta la richiesta di un'app di creare un'associazione con un dispositivo complementare, il servizio CompanionDeviceManager (CDM) assegna il ruolo del profilo del dispositivo (ad esempio, orologio) all'app complementare, concedendo tutte le autorizzazioni definite per quel ruolo del profilo specificato. La Figura 1 mostra un esempio di un'app che richiede autorizzazioni per il profilo del dispositivo COMPANION_DEVICE_WATCH .

Guarda la finestra di dialogo del profilo del dispositivo

Figura 1. Finestra di dialogo che richiede le autorizzazioni per il profilo del dispositivo di controllo.

Quando un utente cancella i dati del pacchetto in Impostazioni o rimuove tutti i dispositivi nell'app complementare, CDM revoca il profilo mentre l'app non è in esecuzione in primo piano né è in esecuzione un servizio in primo piano. La revoca del profilo revoca anche tutte le autorizzazioni definite per il profilo.

Dopo che un utente accetta la richiesta di un'app di concedere autorizzazioni per un particolare profilo del dispositivo, l'utente può revocare le singole autorizzazioni concesse. Quando un'autorizzazione viene revocata da un utente, l'app rimane associata al dispositivo complementare ma alcune funzionalità potrebbero non essere più disponibili. Se l'autorizzazione è necessaria per il funzionamento dell'app, l'app deve richiedere l'autorizzazione tramite una normale richiesta di autorizzazione .

Profili del dispositivo complementare per app di terze parti

Guarda il profilo

Il profilo orologio viene introdotto in Android 12.

La tabella seguente descrive le autorizzazioni definite per il profilo del dispositivo COMPANION_DEVICE_WATCH e i requisiti per il loro utilizzo.

Autorizzazioni Requisiti dell'app complementare e del dispositivo
Notifiche

BIND_NOTIFICATION_LISTENER_SERVICE
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Dispone di uno schermo in grado di visualizzare le notifiche (sono esclusi i dispositivi che utilizzano la tecnologia aptica anziché uno schermo)
  • Fornisce un'esperienza di notifica rivolta all'utente, ad esempio visualizzando le notifiche del telefono sullo schermo del dispositivo complementare.
Phone
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un microfono e un altoparlante integrati che consentono la conversazione vocale
  • Ha uno schermo che visualizza le informazioni sul chiamante
  • Fornisce un'esperienza di chiamata telefonica rivolta all'utente (l'app complementare collega le telefonate)
SMS
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo che visualizza i messaggi SMS
  • Fornire un'esperienza SMS rivolta all'utente
Contacts
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo di visualizzazione
  • Utilizza le informazioni di contatto come parte dell'esperienza di chiamata o di messaggistica
Calendar
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo di visualizzazione
  • Fornisci un'esperienza di calendario rivolta all'utente sull'orologio
Nearby devices
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo di visualizzazione
  • Fornire un'esperienza di associazione/connessione rivolta all'utente sull'orologio
eSIM provisioning
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo di visualizzazione
  • Fornisci un'esperienza rivolta all'utente che gestisce i servizi dell'abbonato dall'operatore sull'orologio
Managing ongoing calls
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un microfono e un altoparlante integrati che consentono la conversazione vocale
  • Ha uno schermo che visualizza le informazioni sul chiamante
  • Fornisce un'esperienza di chiamata telefonica rivolta all'utente (l'app complementare collega le telefonate)

Profilo degli occhiali

Il profilo Occhiali viene introdotto in Android 14.

La tabella seguente descrive le autorizzazioni definite per il profilo del dispositivo COMPANION_DEVICE_GLASSES e i requisiti per utilizzarle.

Autorizzazioni Requisiti dell'app complementare e del dispositivo
Notifiche

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Dispone di uno schermo in grado di visualizzare le notifiche (sono esclusi i dispositivi che utilizzano la tecnologia aptica anziché uno schermo)
  • Fornisce un'esperienza di notifica rivolta all'utente, ad esempio visualizzando le notifiche del telefono sullo schermo del dispositivo complementare.
  • Pubblica notifiche sul telefono per la gestione del dispositivo, ad esempio quando è connesso un dispositivo con occhiali o quando è abilitata una funzione specifica.
Phone
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un microfono e un altoparlante integrati che consentono la conversazione vocale
  • Ha uno schermo che visualizza le informazioni sul chiamante
  • Fornisce un'esperienza di chiamata telefonica rivolta all'utente (l'app complementare collega le telefonate)
SMS
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo che visualizza i messaggi SMS
  • Fornire un'esperienza SMS rivolta all'utente
Contacts
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo di visualizzazione
  • Utilizza le informazioni di contatto come parte dell'esperienza di chiamata o di messaggistica
Microphone
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo di visualizzazione
  • Fornisce un'esperienza con il microfono rivolto all'utente sugli occhiali
Nearby devices
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha uno schermo di visualizzazione
  • Fornisce un'esperienza di associazione/connessione rivolta all'utente sugli occhiali
Managing ongoing calls
  • Essere un dispositivo connesso tramite Bluetooth e/o Wi-Fi
  • Ha un microfono e un altoparlante integrati che consentono la conversazione vocale
  • Ha uno schermo che visualizza le informazioni sul chiamante
  • Fornisce un'esperienza di chiamata telefonica rivolta all'utente (l'app complementare collega le telefonate)

Implementazione

Per gli sviluppatori di terze parti che implementano un'app complementare che richiede il profilo DEVICE_PROFILE_WATCH , procedi come segue:

  1. Chiama il metodo setDeviceProfile .

  2. Passa un profilo (ad esempio DEVICE_PROFILE_WATCH durante la creazione AssociationRequest .

Per i produttori di dispositivi che implementano un'app complementare con un dispositivo specifico, utilizzare le seguenti configurazioni di sistema Android richieste per certificare l'app complementare, che consente all'app di ignorare la visualizzazione della finestra di dialogo per il consenso dell'utente per gli utenti.

  1. Recuperare il certificato utilizzando il comando seguente:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Sostituisci il nome del pacchetto e il certificato come mostrato nel seguente input di esempio nel file di configurazione:

    <!-- 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>
    
  3. Utilizza AssociationRequest per effettuare una richiesta di associazione a un singolo dispositivo complementare.

Validazione

Per testare il comportamento della funzionalità del profilo del dispositivo associato, utilizzare i test CTS in cts/tests/tests/companion/ .