Fino a kitkat del ricevitore di stato del ricevitore Android funziona perfettamente. In Android lolipop dello stato del telefono trasmette il ricevitore inviando più trasmissioni. C'è qualcosa di cambiato in Android Lolipop.Android Lollipop invia Multiple BroadcastReceivers per le modifiche dello stato del telefono
5
A
risposta
0
A Lollipop ogni evento di modifica dello stato del telefono sembra venire due volte. In questo articolo si descrive il problema e offre una soluzione semplice per esso: http://mmarvick.github.io/blog/blog/lollipop-multiple-broadcastreceiver-call-state/
0
mi sento di raccomandare questa soluzione:
public void onReceive(Context context, Intent intent) {
long subId = intent.getLongExtra("subscription", Long.MIN_VALUE);
if(subId < Integer.MAX_VALUE) {
// hurray, this is called only once on all operating system versions!
}
}
funziona sia su 4.xe 5.xe una dovrebbe essere compatibile in avanti. Per maggiori dettagli si rimanda al mio blog:
http://www.skoumal.net/en/android-duplicated-phone-state-broadcast-on-lollipop/
Problemi correlati
- 1. Listener dello stato del telefono chiamato più volte
- 2. supporto apk multiple per Android TV e telefono
- 3. Invia stringa da telefono Android a PC
- 4. Lollipop Android - Tirare per aggiornare
- 5. L'uso dei filtri intenti con broadcastReceivers Android
- 6. Verifica dello stato del messaggio GCM
- 7. Invia dati dal telefono al telefono tramite Internet?
- 8. Android - salvataggio dello stato dell'applicazione
- 9. ConnectivityManager.EXTRA_NO_CONNECTIVITY è sempre falso su Android Lollipop
- 10. - Rileva "modifiche dello stato di estensione" (Sfondo/Primo piano)
- 11. Lollipop widget schermata di blocco Android
- 12. ActionBar trasparente e barra di stato in Android Lollipop
- 13. Spegnimento programmato del telefono Android
- 14. Android - Cattura schermo del telefono come film
- 15. Android - Imposta sfondo per adattarla al formato dello schermo del telefono
- 16. CheckBox Android - Ripristino dello stato dopo la rotazione dello schermo
- 17. barra di stato di pendenza su Android Lollipop
- 18. controllare le impostazioni del telefono per feedback tattile
- 19. L'intento del servizio OpenCV deve essere esplicito, Android 5.0 Lollipop
- 20. Come comunicare le modifiche dello stato dell'interfaccia utente tra i componenti React con Redux?
- 21. Autorizzazioni Android: Telefonate: leggi stato telefono e identità
- 22. Testare le app Android Wear sul telefono?
- 23. In Android cosa si intende per l'attracco dello stato
- 24. (dinamico) Multiple spinners stato/città
- 25. mute telefono Android/unmute
- 26. Monitoraggio dello stato del servizio WCF
- 27. mancano campioni APL per Android Lollipop 21?
- 28. Registrare le telefonate sul telefono Android?
- 29. Ritardo dello stato evidenziato del pulsante
- 30. Sviluppo giochi Android - Spostamento del telefono
ho notato che è un extra inviato con la sottoscrizione intento chiamato, e sembra essere 1 o 9223372036854775807. La mia ipotesi è, un bug? – gerfmarquez
il numero è Long.MAX_VALUE. Hai trovato perché questo sta accadendo? – Muzikant
Ho postato un bug report per questo problema: https://code.google.com/p/android/issues/detail?id=161508 – Muzikant