Flutter:仅当我们使用local_notification单击通知时,如何执行操作?

卡米尔

我正在使用local_notification显示通知,并且单击通知时想执行一个动作(例如,在新窗口中打开新信号的消息)。我尝试使用

onNotificationClick: new NotificationAction(actionText: "Open",
                callback: openSignal(signalEventFromCloud[i]),
                payload: "Open signal")

回调函数为:

openSignal(Signal signal) {
    Navigator.push(
      context,
      new MaterialPageRoute(
        builder: (context) => new DetailScreen(signal: signal),
      ),
    );
  }

当显示通知时,此方法直接调用回调函数,但是我只想在用户单击通知时执行回调函数。

有办法吗?

理查德·希普

callback 需要是一个函数,所以将代码更改为

onNotificationClick: new NotificationAction(actionText: "Open",
                callback: openSignal,
                payload: "Open signal")

否则,在构建小部件时就会调用openSignal,而不是通过单击来调用。

但是,您需要更改openSignal以接受一个String参数

  openSignal(String signal) {
    Navigator.push(
      context,
      new MaterialPageRoute(
        builder: (context) => new DetailScreen(),
      ),
    );
  }

不清楚您的参数是什么,但是回调需要一个String

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我们仅知道地址时如何执行程序?

当我们使用AppBar时,如何在Flutter中更改状态栏的颜色?

当我们想通过github操作执行ansible命令时如何管理ssh密钥文件

仅当我们在模态内容之外单击时,才关闭覆盖

当我们对数据帧执行操作时是否创建了 DAG?

当我们使用React js和Bootsrap 4单击按钮时如何动态添加选项卡

当我们为阶段分配目标时,执行顺序将如何执行?

当我们单击时,删除活动的类

当我们单击按钮时如何更改图像?

react-responsive-modal :当我们在 div 外单击时如何防止关闭模态

当我们单击相应项目时如何在 recyclerview 项目顶部显示弹出窗口

当我们单击任意按钮(事件)时,使用JavaScript重置搜索结果

为什么即使我在页面中没有执行任何操作,但当我们使用“ --enable-precise-memory-info”打开Chrome时,usedJSHeapSize总是增加?

当我们在SQL中使用*时仅更改单列值

当我们执行 git pull 时,文件是如何下载的?

当我们对 React 应用程序使用 UseReducer 钩子方法时导出操作

当我们在 swift4 中单击 fscalendar 中的下一个或上一个按钮时,我们如何仅滑动月或日

当我们编辑(追加,删除...)列表时会发生什么,每次编辑列表时我们都可以执行操作吗?

当我们使用Spring Data或Hibernate时,我们如何做连接池?

当我们在 iOS swift 中单击文本字段时,是否可以显示操作表并隐藏键盘?

仅当我们输入单元格时才执行公式-无“ 0”值-Excel 2010

在TableView列表中更改as开关时,我们如何执行操作?

当我们使用e.preventDefault()时,如何在表单中使用“必需”属性?

当我们使用Raw SQL时,如何在Laravel中使用like子句?

当我们使用广告位时,如何使用JavaScript查找父元素的宽度

当我们单击注销时,如果我们在不使用数据库的情况下检查记忆,则必须记住用户名

当我们关闭开关时,我们如何取消选择该行

当我们在服务中使用 ngOnInit 时?

当我们在ChangeNotifier中使用notifyListeners时?