L'autorizzazione runtime per le notifiche
Richieda l'autorizzazione alle notifiche su Android 13 e versioni successive.
L'autorizzazione runtime per le notifiche è una lezione Android Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Android Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Android Academy include 4 lezioni in totale.
L'autorizzazione per le notifiche
A partire da Android 13 (API 33), le app devono richiedere un'autorizzazione di runtime per pubblicare notifiche: POST_NOTIFICATIONS. Senza questa autorizzazione, le notifiche vengono bloccate senza alcun avviso.
Perché è stata aggiunta
Prima di Android 13, le notifiche erano abilitate per impostazione predefinita e gli utenti dovevano cercare nelle Impostazioni per disattivare le app troppo insistenti. L'autorizzazione di runtime cambia questo comportamento: ora gli utenti devono acconsentire esplicitamente, riducendo lo spam.
Dichiarazione nel manifest
Per prima cosa dichiarate l'autorizzazione in AndroidManifest.xml. È necessario farlo per ogni versione supportata, anche se la richiesta viene mostrata solo su API 33+.
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />È un'autorizzazione pericolosa
POST_NOTIFICATIONS è classificata come autorizzazione di runtime (pericolosa), quindi su Android 13+ dovete richiederla all'utente e gestire la sua risposta, proprio come per fotocamera o posizione.
Comportamento in base alla versione
Le differenze tra le versioni sono importanti:
- API 33+: è necessario richiederla a runtime; se viene negata, non vengono mostrate notifiche
- API 32 e precedenti: le notifiche sono consentite per impostazione predefinita; non è necessaria alcuna richiesta
Verifica prima della richiesta
Richiedetela solo su Android 13 e versioni successive e solo se non è già stata concessa. Proteggete la chiamata con un controllo della versione.
val needsRequest = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU &&
ContextCompat.checkSelfPermission(
context, Manifest.permission.POST_NOTIFICATIONS
) != PackageManager.PERMISSION_GRANTEDRichiesta in Compose
Usate la stessa Activity Result API che avete imparato a usare per le altre autorizzazioni: un launcher con il contratto RequestPermission, avviato con POST_NOTIFICATIONS.
val launcher = rememberLauncherForActivityResult(
ActivityResultContracts.RequestPermission()
) { granted ->
// update UI based on whether notifications are allowed
}Avvio della richiesta
Attivate la richiesta solo su API 33+, preferibilmente quando l'utente esegue un'azione che trae vantaggio dalle notifiche, non automaticamente all'avvio.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
launcher.launch(Manifest.permission.POST_NOTIFICATIONS)
}Richiedetela nel contesto appropriato
Come per tutte le autorizzazioni, effettuate la richiesta nel contesto appropriato. Ad esempio, chiedetela dopo che l'utente ha attivato una funzione come i promemoria, spiegandone il vantaggio, invece di farlo appena l'app viene aperta.
Gestione corretta del rifiuto
Se l'autorizzazione viene negata, non interrompete il normale funzionamento. Disattivate le opzioni che dipendono dalle notifiche oppure mostrate un suggerimento per indicare che sono disattivate, con un collegamento alle Impostazioni di sistema nel caso in cui l'utente voglia abilitarle in seguito.
L'SDK di destinazione attiva l'applicazione
Il requisito di runtime si applica quando la vostra app usa come destinazione l'API 33 o una versione successiva. Se un'app meno recente viene eseguita su Android 13, il sistema potrebbe mostrare automaticamente la richiesta alla prima pubblicazione, ma dovreste comunque richiederla esplicitamente.
Verifica rapida
Verificate la vostra comprensione dell'autorizzazione di runtime per le notifiche.
Riepilogo
Avete gestito l'autorizzazione per le notifiche:
- Android 13+ richiede l'autorizzazione di runtime
POST_NOTIFICATIONS - Dichiaratela nel manifest e richiedetela con l'Activity Result API
- Proteggete le richieste con un controllo della versione e ponetele nel contesto appropriato
- Gestite con eleganza il caso in cui venga negata
Avete completato il corso sulle notifiche.
Domande Frequenti
La lezione «L'autorizzazione runtime per le notifiche» è gratuita?
Sì — il testo completo di «L'autorizzazione runtime per le notifiche» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Android Academy, passa a CoddyKit PRO. Il corso Android Academy include 4 lezioni in totale.
Cosa imparerò in «L'autorizzazione runtime per le notifiche»?
Richieda l'autorizzazione alle notifiche su Android 13 e versioni successive. Eserciti Android Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Android Academy?
Non è richiesta alcuna esperienza precedente. Android Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «L'autorizzazione runtime per le notifiche»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Android Academy?
Sì. Ogni lezione Android Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Canali di notifica
- Creare una notifica
- Azioni e deep link
- L'autorizzazione runtime per le notifiche