如何在不打开应用程序的情况下单击操作按钮后关闭通知?
How to dismiss notification after action button clicked without opening the app?
我正在使用 awesome_notifications 显示通知,并且有关闭通知的操作按钮,但问题是如果应用程序在后台,并且点击了操作按钮,它会关闭通知但是也打开我不想要的应用程序。那么,如何在不打开应用程序的情况下单击操作按钮时关闭通知呢?该通知还包含另一个打开应用程序的操作按钮,但第二个不应该。
遇到这种情况怎么办?
这是目前发生的事情:
显示通知的代码:
AwesomeNotifications().createNotification(
content: NotificationContent(
id: 333,
title: 'Incoming Call',
body: 'from $callerName',
category: NotificationCategory.Call,
channelKey: 'call_channel',
largeIcon: 'asset://assets/images/logo_square.png',
wakeUpScreen: true,
fullScreenIntent: true,
autoDismissible: false,
showWhen: true,
displayOnBackground: true,
displayOnForeground: true,
payload: {
"callerName": callerName,
"callerUsername": callerUsername,
"callerID": callerID,
"callerToken": callerToken,
"callerImage": callerImage,
},
),
actionButtons: [
NotificationActionButton(
key: 'ACCEPT',
label: 'Accept Call',
color: Colors.green,
autoDismissible: true,
),
NotificationActionButton(
key: 'REJECT',
label: 'Reject Call',
isDangerousOption: true,
autoDismissible: true,
),
]
);
在浏览 GitHub Repository of awesome_notifications 时找到了答案。
在 NotificationActionButton
中添加 buttonType
as ActionButtonType.DisabledAction
即可在不打开应用程序的情况下直接关闭 notification
就像这样:
NotificationActionButton(
key: 'DISMISS',
label: 'Dismiss',
autoDismissible: true,
buttonType: ActionButtonType.DisabledAction,
isDangerousOption: true
)
注意:这样做不会触发actionStream
中的任何receivedAction
。
我正在使用 awesome_notifications 显示通知,并且有关闭通知的操作按钮,但问题是如果应用程序在后台,并且点击了操作按钮,它会关闭通知但是也打开我不想要的应用程序。那么,如何在不打开应用程序的情况下单击操作按钮时关闭通知呢?该通知还包含另一个打开应用程序的操作按钮,但第二个不应该。 遇到这种情况怎么办?
这是目前发生的事情:
显示通知的代码:
AwesomeNotifications().createNotification(
content: NotificationContent(
id: 333,
title: 'Incoming Call',
body: 'from $callerName',
category: NotificationCategory.Call,
channelKey: 'call_channel',
largeIcon: 'asset://assets/images/logo_square.png',
wakeUpScreen: true,
fullScreenIntent: true,
autoDismissible: false,
showWhen: true,
displayOnBackground: true,
displayOnForeground: true,
payload: {
"callerName": callerName,
"callerUsername": callerUsername,
"callerID": callerID,
"callerToken": callerToken,
"callerImage": callerImage,
},
),
actionButtons: [
NotificationActionButton(
key: 'ACCEPT',
label: 'Accept Call',
color: Colors.green,
autoDismissible: true,
),
NotificationActionButton(
key: 'REJECT',
label: 'Reject Call',
isDangerousOption: true,
autoDismissible: true,
),
]
);
在浏览 GitHub Repository of awesome_notifications 时找到了答案。
在 NotificationActionButton
buttonType
as ActionButtonType.DisabledAction
即可在不打开应用程序的情况下直接关闭 notification
就像这样:
NotificationActionButton(
key: 'DISMISS',
label: 'Dismiss',
autoDismissible: true,
buttonType: ActionButtonType.DisabledAction,
isDangerousOption: true
)
注意:这样做不会触发actionStream
中的任何receivedAction
。