【问题标题】:How to change view in application after get message from firebase?从firebase获取消息后如何更改应用程序中的视图?
【发布时间】:2018-12-02 08:53:48
【问题描述】:

是否有可能在 onMessageReceived (RemoteMessage remoteMessage) (FirebaseMessagingService) 中收到来自 firebase 的消息后重新加载应用程序的当前视图(如果它正在运行)?例如我已启动 MainActivity,我从 Firebase 收到消息,我想在 MainActivity 中重新加载 ListView。

【问题讨论】:

    标签: android firebase-cloud-messaging


    【解决方案1】:

    您可以在 onMessageReceived 中使用LocalBroadcastManager。例如:

     Intent bIntent = new Intent("custom-event-name");
                bIntent.putExtra("keyAction", "yourPushAction");
                LocalBroadcastManager.getInstance(this).sendBroadcast(bIntent);
    

    并且可以在您的活动的 onCreate() 中接收广播,如下所示:

    LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, new IntentFilter("custom-event-name"));
    

    mMessageReceiver 如下:

    private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String message = intent.getStringExtra("keyAction");
        }
    };
    

    别忘了在onDestroy()中unregisterReceiver

    LocalBroadcastManager.getInstance(this).unregisterReceiver(
                    mMessageReceiver);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 2018-06-13
      • 2018-09-03
      • 2017-03-22
      • 2019-06-27
      相关资源
      最近更新 更多