![](/img/trans.png)
[英]Flutter local notification unable to Navigate to another route on click
[英]Flutter local notification unable to showup
我正在嘗試使用flutter_local_notifications: ^9.7.0
包顯示本地通知。 到目前為止,當我在使用 iphone 13 pro max 的 ios 模擬器中嘗試時,它可以正常工作,但是當我在 iphone 8 中調試時,無法顯示通知。這是代碼 AppDelegate.swift 的一部分:
....
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate
}
....
....
....
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
以及顯示通知的代碼:
Future<void> showNotifications() async {
await flutterLocalNotificationsPlugin.show(
21,
"Title",
"Subtitle",
NotificationDetails(android: _androidNotificationDetails),
);
}
Future<void> init() async {
final AndroidInitializationSettings initializationSettingsAndroid =
AndroidInitializationSettings('@mipmap/ic_launcher');
final IOSInitializationSettings initializationSettingsIOS =
IOSInitializationSettings(
requestSoundPermission: false,
requestBadgePermission: false,
requestAlertPermission: false,
);
final InitializationSettings initializationSettings =
InitializationSettings(
android: initializationSettingsAndroid,
iOS: initializationSettingsIOS,
macOS: null);
tz.initializeTimeZones();
await flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: selectNotification);
}
我在 IOS 設置部分閱讀了文檔( https://pub.dev/packages/flutter_local_notifications ),其中指出:
For older versions of iOS, you need to handle the callback as part of specifying the method that should be fired to the onDidReceiveLocalNotification argument when creating an instance IOSInitializationSettings object that is passed to the function for initializing the plugin.
但我不知道如何配置它,有沒有辦法做到這一點,以便通知也可以顯示在 iphone 8 中?
就像文檔說在創建設置時傳遞回調一樣。
final IOSInitializationSettings initializationSettingsIOS =
IOSInitializationSettings(
requestSoundPermission: false,
requestBadgePermission: false,
requestAlertPermission: false,
onDidReceiveLocalNotification: onDidReceiveLocalNotification,
);
...
void onDidReceiveLocalNotification(int id, String title, String body, String payload) async {
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.