Eccezioni di trasmissione implicite

Nell'ambito dei limiti di esecuzione in background per Android 8.0 (livello API 26), le app destinate al livello API 26 o successivo non possono registrare ricevitori di trasmissioni per trasmissioni implicite nel loro manifest, a meno che la trasmissione non venga inviata appositamente a loro. Tuttavia, diverse trasmissioni sono esenti da queste limitazioni. Le app possono continuare a registrare listener per le trasmissioni seguenti, indipendentemente dal livello API target dell'app.

ACTION_LOCKED_BOOT_COMPLETED, ACTION_BOOT_COMPLETED
Esenti perché questi annunci vengono inviati una sola volta, al primo avvio, e molte app devono riceverli, ad esempio per programmare lavori e sveglie.
ACTION_USER_INITIALIZE, android.intent.action.USER_ADDED e android.intent.action.USER_REMOVED
Le autorizzazioni con privilegi proteggono queste trasmissioni, pertanto la maggior parte delle normali app non può comunque riceverle.
android.intent.action.TIME_SET, ACTION_TIMEZONE_CHANGED e ACTION_NEXT_ALARM_CLOCK_CHANGED
Le app dell'orologio potrebbero dover ricevere questi annunci per aggiornare le sveglie quando cambiano l'ora, il fuso orario o le sveglie.
ACTION_LOCALE_CHANGED
Inviato solo quando cambiano le impostazioni internazionali, che non capita spesso. Potrebbe essere necessario aggiornare i dati delle app quando cambiano le impostazioni internazionali.
ACTION_USB_ACCESSORY_ATTACHED, ACTION_USB_ACCESSORY_DETACHED, ACTION_USB_DEVICE_ATTACHED, ACTION_USB_DEVICE_DETACHED
Quando un'app deve essere a conoscenza di questi eventi USB, non c'è una buona alternativa alla registrazione per la trasmissione.
BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED, BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED, ACTION_ACL_CONNECTED, ACTION_ACL_DISCONNECTED
Se le app ricevono annunci per questi eventi Bluetooth, l'esperienza utente potrebbe non risentirne.
ACTION_CARRIER_CONFIG_CHANGED, TelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGED, TelephonyIntents.SECRET_CODE_ACTION, ACTION_PHONE_STATE_CHANGED, ACTION_PHONE_ACCOUNT_REGISTERED e ACTION_PHONE_ACCOUNT_UNREGISTERED
Le app di telefonia OEM potrebbero dover ricevere queste trasmissioni.
LOGIN_ACCOUNTS_CHANGED_ACTION
Alcune app devono essere a conoscenza delle modifiche apportate agli account di accesso per poter configurare operazioni pianificate per gli account nuovi e modificati.
ACTION_ACCOUNT_REMOVED
Le app che hanno visibilità su un account ricevono questa trasmissione quando l'account viene rimosso. Se questa è l'unica modifica all'account su cui l'app deve intervenire, consigliamo all'app di utilizzare questa trasmissione anziché la versione deprecata LOGIN_ACCOUNTS_CHANGED_ACTION.
ACTION_PACKAGE_DATA_CLEARED
Viene inviato solo quando l'utente cancella esplicitamente i propri dati dalle Impostazioni, pertanto è improbabile che i ricevitori della trasmissione influiscano in modo significativo sull'esperienza utente.
ACTION_PACKAGE_FULLY_REMOVED

Alcune app devono aggiornare i dati archiviati quando viene rimosso un altro pacchetto. Per queste app non esistono buone alternative alla registrazione per questa trasmissione.

Nota:altre trasmissioni relative ai pacchetti (come ACTION_PACKAGE_REPLACED) non sono esenti dalle limitazioni relative all'esecuzione in background. Queste trasmissioni sono talmente comuni che la loro esenzione potrebbe avere un potenziale impatto sulle prestazioni.

ACTION_NEW_OUTGOING_CALL

Le app che intervengono in risposta agli utenti che effettuano chiamate devono ricevere questa trasmissione.

ACTION_DEVICE_OWNER_CHANGED

Questa trasmissione non viene inviata molto spesso. Alcune app devono riceverlo per sapere che lo stato di sicurezza del dispositivo è cambiato.

ACTION_EVENT_REMINDER

Inviato dal fornitore di calendario per pubblicare il promemoria di un evento nell'app di calendario. Poiché il fornitore del calendario non sa qual è l'app di calendario, la trasmissione deve essere implicita.

ACTION_MEDIA_MOUNTED, ACTION_MEDIA_CHECKING, ACTION_MEDIA_UNMOUNTED, ACTION_MEDIA_EJECT, ACTION_MEDIA_UNMOUNTABLE, ACTION_MEDIA_REMOVED, ACTION_MEDIA_BAD_REMOVAL

Questi annunci vengono inviati come risultato delle interazioni fisiche dell'utente con il dispositivo, ad esempio l'installazione o la rimozione di volumi di archiviazione, o durante l'inizializzazione dell'avvio, man mano che i volumi disponibili vengono montati. Non sono un caso comune e di solito sono sotto il controllo dell'utente.

SMS_RECEIVED_ACTION, WAP_PUSH_RECEIVED_ACTION

Le app di destinatari di SMS si basano su questi annunci.