0

我刚刚将我的 Flutter 本地通知插件https://pub.dev/packages/flutter_local_notifications更新为旧项目中的最新版本(9.1.1),因为 schedule 方法已被声明为已弃用。因此我使用了新的方法 zonedSchedule 。

我从文档中获取了 zonedSchedule 示例来测试它,但现在每次安排通知时都会出现异常:

 await flutterLocalNotificationsPlugin.zonedSchedule(
      0,
      'scheduled title',
      'scheduled body',
      tz.TZDateTime.now(tz.local).add(const Duration(seconds: 5)),
      const NotificationDetails(
          android: AndroidNotificationDetails(
              'your channel id', 'your channel name',
              channelDescription: 'your channel description')),
      androidAllowWhileIdle: true,
      uiLocalNotificationDateInterpretation:
      UILocalNotificationDateInterpretation.absoluteTime);

这是例外

E/AndroidRuntime(15499): java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
E/AndroidRuntime(15499):    at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin$2$1.run(FlutterLocalNotificationsPlugin.java:371)
E/AndroidRuntime(15499):    at android.os.Handler.handleCallback(Handler.java:938)
E/AndroidRuntime(15499):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(15499):    at android.os.Looper.loop(Looper.java:223)
E/AndroidRuntime(15499):    at android.app.ActivityThread.main(ActivityThread.java:7656)
E/AndroidRuntime(15499):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(15499):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/AndroidRuntime(15499):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

有谁知道为什么现在触发了这个问题,但之前一切都很好?

4

1 回答 1

0

版本 9.1.1 中存在 NPE 问题。它已在新版本中修复。

[9.1.2] [Android] 修复 NPE 问题 1378,从 9.1.1 中引入的更改更新通知写入共享首选项的方式

于 2021-11-15T17:02:57.193 回答