Android: che cos’è la trasmissione persistente?

Le applicazioni Android vengono eseguite sui dispositivi degli utenti con il sistema operativo Android installato, inclusi dispositivi mobili come smartphone, tablet e laptop. Molte aziende stanno prendendo di mira il sistema Android con app per la vendita al dettaglio e altri servizi commerciali. A seconda dello scopo di un'app, la ricezione di trasmissioni di sistema può essere un'attività essenziale per il programmatore. Le trasmissioni adesive sono una categoria particolare di trasmissioni del sistema Android e possono essere utilizzate all'interno di qualsiasi applicazione. Le trasmissioni sono spesso particolarmente rilevanti per le app che coinvolgono i servizi Android.

Trasmissioni

Il sistema Android utilizza le trasmissioni per trasmettere informazioni alle applicazioni. Alcune trasmissioni vengono inviate da app Android, ma molte delle trasmissioni più comunemente utilizzate vengono inviate dal sistema stesso. Le trasmissioni comuni indicano informazioni generali sul sistema potenzialmente rilevanti per molte delle applicazioni che potrebbero essere in esecuzione su di esso. Ad esempio, una trasmissione può indicare che il livello della batteria è basso o che lo schermo dell'utente è scaduto e si è spento. Ricevendo queste trasmissioni, le app possono rispondere e, se necessario, eseguire attività per mantenere il normale funzionamento.

Trasmissioni persistenti

Una trasmissione adesiva è una trasmissione che rimane in circolazione dopo il momento in cui viene annunciata al sistema. La maggior parte delle trasmissioni viene inviata, elaborata all'interno del sistema e diventa rapidamente inaccessibile. Tuttavia, le trasmissioni adesive annunciano informazioni che rimangono accessibili oltre il punto in cui vengono elaborate. Un tipico esempio è il livello della batteria Broadcast. A differenza della maggior parte delle trasmissioni, il livello della batteria può essere recuperato all'interno delle applicazioni oltre il punto in cui è stato inviato attraverso il sistema. Ciò significa che le app possono scoprire qualunque sia stata l'ultima trasmissione del livello della batteria.

Ricevitori

Le app Android utilizzano i ricevitori Broadcast per rilevare ed elaborare le informazioni all'interno delle trasmissioni di sistema. Gli sviluppatori che lavorano su app Android creano classi Java che estendono la classe Broadcast Receiver padre utilizzando l'ereditarietà Java. Ciò consente ai programmatori di implementare metodi in cui possono accedere alle informazioni di trasmissione, adattando il comportamento di un'app allo stato del sistema o allo stato di altri processi all'interno dell'app stessa.

si utilizza

Molte applicazioni Android ricevono Sticky e altre trasmissioni, che vengono spesso utilizzate insieme ai servizi Android. Un Servizio è un processo che si svolge in background, effettuando talvolta particolari fasi di lavorazione ad intervalli di tempo. Quando un servizio viene avviato, potrebbe essere necessario controllare lo stato del sistema utilizzando uno Sticky Broadcast. Ad esempio, un'app che visualizza il livello della batteria del dispositivo a intervalli specificati può controllare il livello della batteria dell'ultima trasmissione utilizzando Sticky Broadcast, aggiornando la sua visualizzazione per l'utente.

Requisiti

Le app Android che utilizzano Sticky Broadcasts devono soddisfare determinati requisiti. Quando si estende la classe Broadcast Receiver, le app possono ricevere le trasmissioni inviate dal sistema e possono facoltativamente inviare le trasmissioni dall'interno di altre classi. Chiamare il metodo "sendStickyBroadcast" all'interno di un'app causerà un messaggio Sticky Broadcast che rimarrà nel sistema per essere ricevuto da altre classi. Le app che utilizzano il metodo devono includere determinate autorizzazioni nei propri file manifest, inclusa l'autorizzazione "BROADCAST_STICKY"; in caso contrario, viene generata un'eccezione quando l'app viene eseguita.