我正在使用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] 删除。
我来说两句