keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png
La richiesta di autorizzazioni su Wear OS è simile a quella nelle app mobile, con un paio di casi d'uso aggiuntivi. Questo documento presuppone che tu sappia come funzionano le autorizzazioni Android. In caso contrario, consulta la sezione relativa al funzionamento delle autorizzazioni su Android.
Proprio come in un'app mobile, l'utente deve concedere le autorizzazioni a un'app Wear per accedere a determinate funzionalità. Nelle tue app per Wear, fornisci funzionalità significative senza richiedere autorizzazioni.
Scenari di autorizzazione
Esistono diversi scenari che potresti incontrare quando richiedi permessi pericolosi su Wear OS:
L'app Wear richiede autorizzazioni per un'app in esecuzione sul dispositivo indossabile.
L'app Wear richiede le autorizzazioni per un'app in esecuzione sullo smartphone.
L'app Telefono richiede autorizzazioni per un'app in esecuzione sul dispositivo indossabile.
L'app Telefono richiede più autorizzazioni che possono essere utilizzate solo quando il dispositivo indossabile è connesso.
Per vedere tutti questi scenari in un'app funzionante, esamina l'esempio ExerciseSampleCompose su GitHub.
Le sezioni seguenti spiegano ciascuno di questi scenari. Per informazioni più dettagliate sulla richiesta di autorizzazioni, consulta la sezione Modelli di richiesta di autorizzazioni.
L'app per indossabili richiede l'autorizzazione per indossabili
Quando l'app Wear richiede un'autorizzazione per un'app in esecuzione sul dispositivo indossabile, il sistema mostra una finestra di dialogo per chiedere all'utente l'autorizzazione. Nella tua app, richiedi le autorizzazioni solo quando è chiaro all'utente perché sono necessarie per eseguire una determinata operazione.
Consulta i principi di autorizzazione
per assicurarti di offrire la migliore esperienza ai tuoi utenti e ricorda
di controllare
shouldShowRequestPermissionRationale()
e fornire informazioni aggiuntive
se necessario.
Se un'app o un quadrante richiedono più di un'autorizzazione alla volta, le richieste di autorizzazione vengono visualizzate una dopo l'altra.

L'app Wear richiede l'autorizzazione di accesso al telefono
Quando l'app Wear richiede un'autorizzazione per lo smartphone, ad esempio un'app per indossabili vuole accedere a foto o altri dati sensibili nella versione mobile dell'app, l'app Wear deve inviare l'utente allo smartphone per accettare l'autorizzazione. L'app Telefono può fornire ulteriori informazioni all'utente utilizzando un'attività. Nell'attività, includi due pulsanti: uno per concedere l'autorizzazione e uno per negarla.

L'app Telefono richiede l'autorizzazione per il wearable
Se l'utente si trova in un'app per smartphone e l'app richiede un'autorizzazione per il dispositivo indossabile, ad esempio per precaricare la musica in caso di disconnessione dello smartphone, l'app per smartphone invia l'utente al dispositivo indossabile per accettare l'autorizzazione. La versione dell'app per indossabili utilizza il metodo
requestPermissions()
per attivare la finestra di dialogo delle autorizzazioni di sistema.

L'app Telefono richiede più autorizzazioni contemporaneamente

Le app partner su Android 12 (livello API 31) e versioni successive possono utilizzare i profili dei dispositivi complementari quando si connettono a uno smartwatch. L'utilizzo di un profilo semplifica la procedura di registrazione raggruppando la concessione di un insieme di autorizzazioni specifico per il tipo di dispositivo in un unico passaggio.
Le autorizzazioni raggruppate vengono concesse all'app complementare una volta connesso il dispositivo e durano solo per il periodo di associazione del dispositivo. L'eliminazione dell'app o
la rimozione dell'associazione comporta la rimozione delle autorizzazioni. Per maggiori dettagli, vedi
AssociationRequest.Builder.setDeviceProfile()
.
Pattern di richiesta di autorizzazione
Esistono diversi pattern per richiedere le autorizzazioni agli utenti. In ordine di priorità:
Chiedi l'autorizzazione nel contesto in cui è ovviamente necessaria per una funzionalità specifica, ma non per l'esecuzione dell'app nel suo complesso.
Fornisci informazioni nel contesto quando il motivo della richiesta di autorizzazione non è ovvio e l'autorizzazione non è necessaria per il funzionamento complessivo dell'app.
Questi pattern sono spiegati nelle sezioni seguenti.
Chiedere nel contesto
Richiedi le autorizzazioni quando è chiaro all'utente perché sono necessarie per eseguire una determinata operazione. Gli utenti sono più propensi a concedere un'autorizzazione quando comprendono il suo collegamento alla funzionalità che vogliono utilizzare.
Ad esempio, un'app potrebbe richiedere la posizione dell'utente per mostrare i luoghi di interesse nelle vicinanze. Quando l'utente tocca per cercare luoghi nelle vicinanze, l'app può richiedere immediatamente l'autorizzazione di accesso alla posizione perché esiste una chiara relazione tra la ricerca di luoghi nelle vicinanze e la necessità dell'autorizzazione di accesso alla posizione. L'ovvietà di questa relazione rende superfluo che l'app mostri schermate didattiche aggiuntive.

Educare nel contesto
La figura 6 mostra un esempio di formazione contestuale. L'app non richiede autorizzazioni per avviare il timer, ma un suggerimento didattico in linea mostra che una parte dell'attività, il rilevamento della posizione, è bloccata. Quando l'utente tocca il suggerimento, viene visualizzata una schermata di richiesta di autorizzazione che consente all'utente di sbloccare il rilevamento della posizione.
Utilizza il metodo
shouldShowRequestPermissionRationale()
per aiutare la tua app a decidere se fornire ulteriori informazioni. Per
maggiori dettagli, consulta Richiedere le autorizzazioni
dell'app. In alternativa, puoi esaminare come l'applicazione di esempio per l'oratore su GitHub gestisce la visualizzazione
delle informazioni.

Gestire il rifiuto
Se l'utente nega un'autorizzazione richiesta che non è fondamentale per un'attività prevista, non impedirgli di continuare l'attività. Se alcune parti dell'attività sono disattivate a causa dell'autorizzazione negata, fornisci un feedback visivo e pratico.
La figura 7 mostra l'utilizzo di un'icona a forma di lucchetto per indicare che una funzionalità è bloccata perché l'utente non ha concesso l'autorizzazione per utilizzarla.

Quando una finestra di dialogo relativa a un'autorizzazione per indossabili precedentemente negata viene visualizzata una seconda volta, include l'opzione Nega, non mostrare più. Se l'utente sceglie questa opzione, l'unico modo per concedere questa autorizzazione in futuro è accedere all'app Impostazioni del dispositivo indossabile.

Scopri di più su come gestire il rifiuto delle autorizzazioni.
Autorizzazioni per i servizi
Solo un'attività può chiamare il metodo
requestPermissions()
, quindi se l'utente interagisce con la tua app utilizzando un servizio, ad esempio
tramite un quadrante, il servizio deve aprire un'attività prima di richiedere l'autorizzazione. In questa attività, fornisci ulteriori informazioni sul motivo per cui è necessaria l'autorizzazione.
In generale, non richiedere autorizzazioni per un quadrante. Implementa invece una complicazione e lascia che l'utente scelga quali dati visualizzare tramite la complicazione.
Impostazioni
Un utente può modificare le autorizzazioni di un'app Wear in Impostazioni in qualsiasi momento. Quando l'utente tenta di eseguire un'operazione che richiede un'autorizzazione, chiama prima il metodo
checkSelfPermission()
per verificare se l'app ha l'autorizzazione per eseguire l'operazione.
Esegui questo controllo anche se l'utente ha concesso l'autorizzazione in precedenza, perché potrebbe averla revocata in un secondo momento.

Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Richiedere le autorizzazioni di runtime
- Autorizzazioni Bluetooth
- Comunicare in background