Il profilo del dispositivo complementare, introdotto in Android 12, è una funzionalità che consente alle app complementari di richiedere un insieme di autorizzazioni specifiche per il tipo di dispositivo complementare, ad esempio uno smartwatch. L'utilizzo di un profilo del dispositivo complementare semplifica la procedura di registrazione consentendo alle app di mostrare un unico prompt agli utenti sui loro dispositivi mobili per richiedere un insieme definito di autorizzazioni anziché più prompt che richiedono le autorizzazioni singolarmente. Ciò può consentire un'esperienza di configurazione più semplice e tassi di attivazione migliori per le app complementari.
Per utilizzare i profili dei dispositivi complementari, le app complementari devono soddisfare i seguenti requisiti:
- Gestire 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 complementare corrisponde a un ruolo Android. Per ulteriori informazioni sulle autorizzazioni e sul ruolo Android corrispondente di ciascun profilo, vedi Profili dei dispositivi complementari per app di terze parti.
Per ulteriori informazioni sui dispositivi complementari, vedi Accoppiamento dei dispositivi complementari.
Comportamento del dispositivo
Questa sezione descrive il comportamento del dispositivo quando vengono utilizzati i profili dispositivo complementari.
Quando un utente accetta la richiesta di un'app di creare un'associazione con un dispositivo
complementare, il servizio
CompanionDeviceManager
(CDM) assegna il ruolo di profilo del dispositivo (ad esempio, orologio) all'app
complementare, concedendo tutte le autorizzazioni definite per quel ruolo di profilo specificato.
La Figura 1 mostra un esempio di app che richiede le autorizzazioni per il profilo del dispositivo
COMPANION_DEVICE_WATCH
.
Figura 1. Finestra di dialogo che richiede le autorizzazioni per il profilo del dispositivo smartwatch.
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é ha un servizio in esecuzione in primo piano. La revoca del profilo comporta anche la revoca di tutte le autorizzazioni definite per il profilo.
Dopo che un utente accetta la richiesta di un'app di concedere autorizzazioni per un determinato profilo del dispositivo, 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 dei dispositivi complementari per app di terze parti
Profilo smartwatch
Il profilo dello smartwatch è stato introdotto in Android 12.
La tabella seguente descrive le autorizzazioni definite per il profilo del dispositivo
COMPANION_DEVICE_WATCH
e i requisiti per utilizzarle.
Autorizzazioni | Requisiti dell'app complementare e del dispositivo |
---|---|
Notifiche
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Profilo occhiali
Il profilo Occhiali è stato 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 |
---|---|
NotifichePOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Implementazione
Per gli sviluppatori di terze parti che implementano un'app complementare che richiede il profilo
DEVICE_PROFILE_WATCH
, procedi nel seguente modo:
Chiama il metodo
setDeviceProfile
.Passa un profilo (ad esempio,
DEVICE_PROFILE_WATCH
quando creiAssociationRequest
.
Produttori di dispositivi per ignorare la visualizzazione della finestra di dialogo per il consenso dell'utente
Per i produttori di dispositivi che implementano un'app complementare con un dispositivo specifico, utilizza le seguenti configurazioni di sistema Android obbligatorie per certificare l'app complementare, che consente all'app di non mostrare la finestra di dialogo del consenso dell'utente.
Recupera il certificato utilizzando il seguente comando:
keytool -printcert -jarfile PATH/TO/APK
Sostituisci il nome del pacchetto e il certificato come mostrato nell'input di esempio seguente 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>
Utilizza
AssociationRequest
per inviare una richiesta di associazione a un singolo dispositivo complementare.
Convalida
Per testare il comportamento della funzionalità del profilo del dispositivo complementare, utilizza i test CTS in
cts/tests/tests/companion/
.