java - 在Android推送通知中,当应用程序关闭时,我们如何获取点击托盘时的有效负载数据?

标签 java android react-native flurry react-native-fcm

我正在使用 React Native Flurry SDK (react-native-flurry-sdk)

Flurry push React-native

Flurry push Android Native 工作正常

// Optionally add a listener to receive messaging events, and handle the notification.
// Please call required Flurry.willHandleMessage(boolean) when received event types of
// MessageType.RECEIVED or MessageType.CLICKED as soon as possible to avoid delay.
Flurry.addMessagingListener((message) => {
  if (message.Type === Flurry.MessageType.RECEIVED) {
    Flurry.willHandleMessage(false);
  } else if (message.Type === Flurry.MessageType.CLICKED) {
    Flurry.willHandleMessage(false);
  }

  Flurry.printMessage(message);
});

// Message.Type: Flurry.MessageType = { RECEIVED,  CLICKED,
//                                      CANCELLED, REFRESH } (Android only)
// Message.Title:       message title
// Message.Body:        message body
// Message.Data:        message data (Map)
// Message.ClickAction: click action (Android only)
// Message.Token:       refreshed token
Flurry.addMessagingListener(callback: (message: { Type: string;
                  Title?: string; Body?: string; Data?: { [key: string]: string; }; ClickAction?: string;
                  Token?: string; }) => void);
Flurry.removeMessagingListener(callback: (message: { Type: string;
                  Title?: string; Body?: string; Data?: { [key: string]: string; }; ClickAction?: string;
                  Token?: string; }) => void);
Flurry.willHandleMessage(handled: boolean);
Flurry.printMessage(message: { Type: string;
                  Title?: string; Body?: string; Data?: { [key: string]: string; }; ClickAction?: string;
                  Token?: string; });

问题是当应用程序关闭时,但当我单击托盘应用程序已打开时,我收到了来自托盘的通知,但是

i didn't get payload data in console(debug mode) or alert.

你能给我一个逻辑解决方案或任何文档吗?

最佳答案

public boolean onNotificationClicked(final FlurryMessage flurryMessage) {
sEnableMessagingListener = true;
new android.os.Handler().postDelayed(
        new Runnable() {
            public void run() {
                Log.i("tag", "This'll run 300 milliseconds later");
                Log.d("Click0012","ff11"+ "ggg"+ sReactApplicationContext + "ddd" + flurryMessage);

                Log.d("message001","ff"+flag +"999"+ sReactApplicationContext+"ff"+ sEnableMessagingListener);
                if (sEnableMessagingListener  && (sReactApplicationContext != null)) {
                    Log.d("Clicked002","ff"+flurryMessage);
                     sendEvent(EventType.NotificationClicked, flurryMessage, true);
                }
            }
        },
        900);



return false;

}

关于java - 在Android推送通知中,当应用程序关闭时,我们如何获取点击托盘时的有效负载数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56759501/

相关文章:

来自相机的 android 位图只是缩略图大小?

java - 如何创建动画方法并将其放入绘制方法中?我的代码不起作用

java - 导入库导入的库?

java - 我应该在 win 10 64 位电脑上安装哪个 java sdk 和 android sdk 版本?

android - net::ERR_ACCESS_DENIED 在 Android Activity 中打开网页时出现 Android 错误

android - 错误 : Map already consumed - React Native

reactjs - React Apollo 显示 "react-apollo only supports a query, subscription, or a mutation per HOC"错误

xcode - 错误无法构建 iOS 项目。我们运行了 "xcodebuild"命令,但它以错误代码 65 退出

java - 使用 RegEx 验证字符串

java - 为什么我的 Java 服务器代码在尝试从 stripe 接收 Webhook 时抛出 502 错误?