Bagaimanakah Android boleh mengemas kini UI semasa apabila ia menerima tolakan dalam BroadcastReceiver?
ringa_lee2017-05-24 11:37:50
0
3
1038
Menggunakan Xiaomi Push.
Kemudian saya menerima maklumat yang ditolak oleh Xiaomi kepada saya dalam kelas yang disepadukan dengan BroadcastReceiver, tetapi saya ingin mengemas kini data yang belum dibaca pada UI pada masa yang sama.
Saya tidak tahu sama ada maklumat yang belum dibaca pada UI yang anda maksudkan merujuk kepada ikon di penjuru kanan sebelah atas pelancar atau maklumat yang belum dibaca pada UI dalam apl itu. Sistem pengeluar domestik akan mengira bilangan pemberitahuan yang diterima oleh apl secara automatik, jika yang kedua adalah, lakukan operasi yang sepadan dengan menghuraikan mesej dalam kaedah onReceivePassThroughMessage(Konteks Konteks, mesej MiPushMessage). onReceivePassThroughMessage(Context context, MiPushMessage message)方法中通过解析message做相应的操作
Terdapat banyak cara untuk mengemas kini bilangan mesej, cuma pilih yang sesuai. Contohnya, ia boleh dipaparkan secara pasif: mengekalkan sharedPreference msgCout, dapatkan msgCount pada halaman yang sepadan dan paparkannya pada UI atau paparkannya secara aktif: anda boleh mendaftarkan siaran pada antara muka yang anda inginkan; untuk memaparkan bilangan mesej, dan menghantar mesej dalam kod di atas Untuk siaran ini, anda juga boleh menggunakan EventBus untuk menghantar mesej, dsb. 🎜
BroadcastReceiver melakukan operasi yang memakan masa akan menyebabkan ANR, dan tiada cara untuk mengubah suai UI secara langsung Dalam projek kami, RxBus digunakan untuk memberitahu kemas kini UI Secara umumnya, EventBus boleh digunakan, dan Sp yang disebutkan di atas juga boleh digunakan, tetapi ini Anda tidak akan mengubah suai UI secara langsung, tetapi anda perlu menyegarkannya secara manual Jika anda menggunakan seni bina MVP, anda boleh terus melaraskan kemas kini kaedah dalam penyampai
Bawa data dan hantar siaran apl anda sendiri ke kelas UI yang sepadan yang perlu diproses
Saya tidak tahu sama ada maklumat yang belum dibaca pada UI yang anda maksudkan merujuk kepada ikon di penjuru kanan sebelah atas pelancar atau maklumat yang belum dibaca pada UI dalam apl itu. Sistem pengeluar domestik akan mengira bilangan pemberitahuan yang diterima oleh apl secara automatik, jika yang kedua adalah, lakukan operasi yang sepadan dengan menghuraikan mesej dalam kaedah
onReceivePassThroughMessage(Konteks Konteks, mesej MiPushMessage)
.onReceivePassThroughMessage(Context context, MiPushMessage message)
方法中通过解析message做相应的操作如何更新消息数目方式就比较多了,选一个合适的即可。比如可以被动展示:维护一个
Terdapat banyak cara untuk mengemas kini bilangan mesej, cuma pilih yang sesuai. Contohnya, ia boleh dipaparkan secara pasif: mengekalkansharedPreference msgCout
rrreeesharedPreference msgCout
, dapatkan msgCount pada halaman yang sepadan dan paparkannya pada UI atau paparkannya secara aktif: anda boleh mendaftarkan siaran pada antara muka yang anda inginkan; untuk memaparkan bilangan mesej, dan menghantar mesej dalam kod di atas Untuk siaran ini, anda juga boleh menggunakan EventBus untuk menghantar mesej, dsb. 🎜BroadcastReceiver melakukan operasi yang memakan masa akan menyebabkan ANR, dan tiada cara untuk mengubah suai UI secara langsung Dalam projek kami, RxBus digunakan untuk memberitahu kemas kini UI Secara umumnya, EventBus boleh digunakan, dan Sp yang disebutkan di atas juga boleh digunakan, tetapi ini Anda tidak akan mengubah suai UI secara langsung, tetapi anda perlu menyegarkannya secara manual Jika anda menggunakan seni bina MVP, anda boleh terus melaraskan kemas kini kaedah dalam penyampai