You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成OneSignal时如何设置setNotificationOpenedHandler方法?

OneSignal Flutter SDK 3.x+ 替代 setNotificationOpenedHandler 的方案

你遇到的是OneSignal Flutter SDK版本迭代后的API变更问题——旧版本的setNotificationOpenedHandler在3.x及以上版本中被重构为新的监听方法,具体替代方案如下:

  • 替代方法为 OneSignal.Notifications.addClickListener,它可以捕获用户点击通知(无论应用在前台还是后台)的事件,用法示例:
OneSignal.Notifications.addClickListener((event) {
  // 获取通知点击相关信息,对应原OSNotificationOpenedResult的内容
  final notification = event.notification;
  print('OneSignal: notification opened: ${notification.jsonRepresentation()}');
  
  // 在此添加跳转指定页面的逻辑,比如使用Navigator
  // Navigator.push(context, MaterialPageRoute(builder: (context) => TargetPage()));
});
  • 补充说明:如果需要区分通知是从后台唤醒应用还是前台直接点击,可通过notification.additionalData或结合应用生命周期状态判断,核心逻辑都可以在这个点击监听器中实现。

内容的提问来源于stack exchange,提问作者Farid Ahmadov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:43:10