在Android上的Activity中获取常规通知的正文和标题

时间:2017-02-15 10:31:35

标签: android firebase push-notification firebase-cloud-messaging

  1. 发送定期通知(在JSON正文中有"通知"而不是自定义数据通知)
  2. 在后台安装app,因此不会触发app中的onMessageReceived()实现,系统会负责显示通知。
  3. 点击通知后,会触发MainActivity。似乎无法在Acivity中检索通知标题和正文(notification JSON部分),只能在附加内容中从Bundle中检索data部分。
  4. 我的主要活动:

    Intent intent = getIntent();
    if (intent.getExtras() != null) {
        debug("Intent with extras");
    
        Bundle b = getIntent().getExtras();
        for (String key : b.keySet()) {
            Object value = b.get(key);
            Log.d(TAG, String.format("%s %s (%s)", key,
                    value.toString(), value.getClass().getName()));
        }
    }
    

    日志输出:

      

    对额外内容的意图google.sent_time 1487153876625(java.lang.Long)   的OpenURL   http://192.168.29.121:8083/v1/messages/87046D17-6470-427C-A046-2E1C92E21D23/open   (java.lang.String)customProperties {" big_icon_urll":" link"}   (java.lang.String)来自814199820217(java.lang.String)   google.message_id 0:1487153876640504%a38586a6a38586a6   (java.lang.String)collapse_key com.kumuluz.ccm.android.sample   (java.lang.String中)

    如您所见,只给出了数据部分(openUrl,customProperties ...)。

    如果我手动处理自定义通知,这不是问题,因为我可以将标题和正文推送到额外内容,然后它们会出现在Bundle中。但是,当应用程序处于后台时,如何从系统处理的通知中获取标题和正文?

    我没有在Intent上看到任何合适的方法来检索此内容。

0 个答案:

没有答案