È ansible verificare se una trasmissione è stata inviata in modalità appiccicosa? Può essere abortito / rimosso?

È ansible verificare se una trasmissione è stata inviata in modalità appiccicosa?

Possiamo interrompere / rimuovere completamente una trasmissione appiccicosa? Se sì, allora può essere fatto per le trasmissioni normali e ordinate?

In onReceive() è ansible utilizzare le seguenti chiamate:

isInitialStickyBroadcast() – Questo ti dirà se la trasmissione che stai attualmente processando è stata inviata come “appiccicosa” ed era quella corrente quando il BroadcastReceiver stato registrato.

isOrderedBroadcast() – Questo ti dirà se la trasmissione che stai attualmente processando è stata inviata come trasmissione “ordinata”.

Se vuoi solo vedere se c’è una trasmissione “appiccicosa”, puoi chiamare

 registerReceiver (BroadcastReceiver receiver, IntentFilter filter) 

e fornire null come parametro del receiver . Ciò restituirà qualsiasi trasmissione “appiccicosa” senza registrare effettivamente il ricevitore.

Puoi rimuovere una trasmissione adesiva usando:

 removeStickyBroadcast(Intent intent) 

Tuttavia, IMHO sarebbe controproducente. Di solito trasmissioni “appiccicose” vengono inviate per indicare lo stato corrente di qualcosa. Quindi rimuoverlo implicherebbe che non è ansible per un’applicazione determinare lo stato corrente.