Diverse funzioni principali del dispositivo, ad esempio la lettura dei registri chiamate e l'invio di SMS dipendono dall'accesso a informazioni sensibili dell'utente. Per proteggere l'utente privacy e offrono agli utenti un maggiore controllo sulle informazioni che alle app sul proprio dispositivo, Google Play limita le app l'accesso alle chiamate e gruppi di autorizzazioni relativi ai messaggi.
Se distribuisci la tua app sul Google Play Store e vuoi accedere a dati sensibili informazioni utente relative a registri chiamate e SMS, la tua app deve Essere registrato come gestore predefinito dell'utente per la funzione principale del dispositivo correlati a tale autorizzazione, a meno che la tua app non soddisfi uno dei casi di eccezione disponibili nel Centro assistenza Play Console. Ad esempio, per accedere autorizzazioni relative alle chiamate, la tua app deve essere registrata come predefinita Gestore dello smartphone o dell'assistente, a meno che la tua app non soddisfi un caso di eccezione.
Questa guida fornisce una breve panoramica delle modalità con cui gli utenti accedono ai gestori predefiniti Dispositivi con tecnologia Android. La guida esamina quindi i requisiti che un'app che deve soddisfare prima di diventare idoneo a essere un gestore predefinito. Infine, ti guiderà nella procedura di ricezione del consenso degli utenti per diventare un come gestore predefinito.
Per scoprire di più sui gestori predefiniti e su come gestire le autorizzazioni in un disponibile sul Play Store, consulta le norme relative alle autorizzazioni .
Visualizza e modifica l'insieme di gestori predefiniti
Android consente agli utenti di impostare gestori predefiniti per diversi casi d'uso principali, ad esempio effettuare telefonate, inviare SMS e fornire tecnologie per la disabilità le funzionalità di machine learning.
L'app Impostazioni su Android include una schermata che mostra agli utenti le app che gestori attualmente predefiniti per le funzioni principali del dispositivo, come mostrato nella figura 1. Da questa schermata gli utenti possono cambiare il gestore predefinito una data funzione, come mostrato nella Figura 2.
Rispettare i requisiti per i gestori predefiniti
Dati utente sensibili a cui un'app accede mentre viene utilizzata come gestore predefinito, la tua app non può diventare un gestore predefinito a meno che non soddisfi le seguenti requisiti della scheda del Play Store e delle funzionalità di base:
- La tua app deve essere in grado di eseguire la funzionalità per cui è predefinita . Ad esempio, un gestore SMS predefinito deve essere in grado di inviare testo. messaggi.
- La tua app deve fornire norme sulla privacy.
- L'app deve indicare chiaramente la sua funzionalità di base nella descrizione del Play Store. Ad esempio, un gestore predefinito del telefono dovrebbe descrivere i relativi dati funzionalità nella descrizione.
- La tua app deve dichiarare le autorizzazioni appropriate per il suo caso d'uso. Per per ulteriori dettagli sulle autorizzazioni che puoi dichiarare come un determinato gestore, consulta indicazioni sull'uso dell'autorizzazione SMS o registro chiamate gruppi nel Centro assistenza Play Console.
- La tua app deve chiedere di diventare un gestore predefinito prima di richiedere il
autorizzazioni associate al gestore. Ad esempio, un'app deve richiedere
per diventare il gestore predefinito di SMS prima di richiedere l'autorizzazione
READ_SMS
.
Richiedi il consenso degli utenti
Dopo aver verificato che la tua app rispetti tutti i requisiti necessari per diventare un gestore predefinito, puoi aggiungere una logica per visualizzare la finestra di dialogo mostrata figura 3. Questa finestra di dialogo chiede all'utente di impostare la tua app come gestore predefinito di una caso d'uso specifico.
Il codice di esempio seguente mostra la logica necessaria per visualizzare un prompt che chiede all'utente di cambiare il gestore SMS predefinito del dispositivo:
Kotlin
val setSmsAppIntent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT) setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName) startActivityForResult(setSmsAppIntent, your-result-code)
Java
Intent setSmsAppIntent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, getPackageName()); startActivityForResult(setSmsAppIntent, your-result-code);