【问题标题】:How to know if the launcher activity is started by clicking on notification on system tray Firebase如何通过单击系统托盘 Firebase 上的通知来了解启动器活动是否已启动
【发布时间】:2017-06-12 10:58:08
【问题描述】:

如何通过单击系统托盘上的通知来检测启动器活动,我正在使用 firebase。

【问题讨论】:

  • 您从哪里创建和发送通知?
  • @jaibatrik 让我们从 firebase 控制台说。
  • 我认为您必须发送一些自定义数据有效负载并且必须在客户端的 onMessageReceived 方法中处理它。根据payload为Activity生成PendingIntent。

标签: android firebase


【解决方案1】:

为此必须发送键和值对(有效负载数据),这在 firebase 控制台中预先提供选项。

在此之后,当您单击通知时,您会通过使用键获得价值。

例如:- 如果您使用“Id”作为键,那么您会像这样获得 Id 的值 String id = getIntent().getStringExtra("Id");

如果 getIntent().getExtras() 为 null,则活动不会从通知中打开,否则从系统托盘上的通知中打开。

【讨论】:

    【解决方案2】:

    如果你想这样做,只需使用 DATA 消息。 它将调用 onMessageReceived() 方法。这样你就可以在那里处理了。

    不要为此使用通知消息。

    通知消息由系统托盘处理,因此您必须在启动活动和移动时使用getIntent().getExtras()

    如此简单的解决方案就是这样。

    {
              "registration_ids": [
                                "fcm token 1",
                                "fcm token 2",
                                "fcm token 3"
                            ],
              "data": {
                        "message": "msg"
                      }
            }
    

    @Override
        public void onMessageReceived(RemoteMessage remoteMessage) {
    
       String = remoteMessage.getData().get("message");
      // and more keys
     // same as get your message and manage click event over here.
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 2017-05-31
      • 2022-12-21
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      相关资源
      最近更新 更多