我使用flutter_local_notifications插件在Flutter中显示通知,这里是初始化代码:
Future<void> initializePlatformNotifications() async {
const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('icon');
final DarwinInitializationSettings initializationSettingsIOS = DarwinInitializationSettings(
requestSoundPermission: true,
requestBadgePermission: true,
requestAlertPermission: true,
onDidReceiveLocalNotification: onDidReceiveLocalNotification);
final InitializationSettings initializationSettings = InitializationSettings(
android: initializationSettingsAndroid,
iOS: initializationSettingsIOS,
);
await flutterLocalNotificationsPlugin.initialize(
initializationSettings,
onDidReceiveNotificationResponse: (NotificationResponse notificationResponse) {
behaviorSubject.add(notificationResponse.payload!);
},
onDidReceiveBackgroundNotificationResponse: notificationTapBackground,
);
}
上面的代码是工作的,onDidReceiveNotificationResponse回调被调用,当通知被点击时,当应用程序在后台,但当应用程序终止,我点击通知回调没有被调用。
我应该使用不同的回调或我的初始化代码丢失了什么?
如果你的应用程序通过点击通知从终止状态启动,你可以通过
获得NotificationResponseflutterLocalNotificationsPlugin.getNotificationAppLaunchDetails()
onDidReceiveNotificationResponse
仅在应用程序暂停时调用,而不是终止时调用。