Comment Android peut-il mettre à jour l'interface utilisateur actuelle lorsqu'il reçoit un push dans BroadcastReceiver ?
ringa_lee
ringa_lee 2017-05-24 11:37:50
0
3
1059

Utilisation de Xiaomi Push.

Ensuite, j'ai reçu les informations qui m'ont été transmises par Xiaomi dans la classe intégrée à BroadcastReceiver, mais je souhaite mettre à jour les données non lues sur l'interface utilisateur en même temps. Que dois-je faire ?

ringa_lee
ringa_lee

ringa_lee

répondre à tous(3)
洪涛

Apportez les données et envoyez une diffusion de votre propre application à la classe d'interface utilisateur correspondante qui doit être traitée

过去多啦不再A梦

Je ne sais pas si les données non lues sur l'interface utilisateur dont vous parlez font référence à l'icône dans le coin supérieur droit du lanceur ou aux données non lues dans l'interface utilisateur de l'application. Les premières n'ont rien à voir avec. le développeur. Les systèmes des fabricants nationaux compteront automatiquement les reçus des applications. Si ce dernier est le cas, effectuez l'opération correspondante en analysant le message dans le onReceivePassThroughMessage (contexte contextuel, message MiPushMessage). méthodeonReceivePassThroughMessage(Context context, MiPushMessage message)方法中通过解析message做相应的操作

    @Override
    public void onReceivePassThroughMessage(Context context,MiPushMessage message){
        mMessage=message.getContent();
        if(mMessage != null){
          //更新消息数目
        }
    }

如何更新消息数目方式就比较多了,选一个合适的即可。比如可以被动展示:维护一个sharedPreference msgCout rrreee

Il existe de nombreuses façons de mettre à jour le nombre de messages, choisissez simplement celle qui convient. Par exemple, il peut être affiché passivement : maintenir un sharedPreference msgCout, obtenir msgCount sur la page correspondante et l'afficher sur l'UI ou l'afficher activement : vous pouvez enregistrer une diffusion sur l'interface où vous le souhaitez ; pour afficher le nombre de messages, et envoyer le message dans le code ci-dessus. Pour cette diffusion, vous pouvez également utiliser EventBus pour envoyer des messages, etc.#🎜🎜#
世界只因有你

BroadcastReceiver effectuant des opérations fastidieuses provoquera un ANR, et il n'y a aucun moyen de modifier directement l'interface utilisateur. Dans notre projet, RxBus est utilisé pour notifier les mises à jour de l'interface utilisateur. De manière générale, EventBus peut être utilisé, et le Sp mentionné ci-dessus peut également l'être. utilisé, mais cela Vous ne modifierez pas l'interface utilisateur directement, mais vous devez la rafraîchir manuellement. Si vous utilisez l'architecture MVP, vous pouvez directement ajuster la mise à jour de la méthode dans le présentateur

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal