Android 12下Flutter Firebase Messaging后台通知接收异常求助
Android 12设备Firebase Messaging后台推送失败,报Context空指针错误
在实现后台推送通知时遇到棘手问题,功能因错误失败,尝试多种解决方案无效,恳请协助排查是否为firebase_messaging库的Bug,是否有开发者遇到过类似情况。
设备与版本情况
- [失败] Android 12物理设备:失败
- [成功] Android 13物理设备:运行正常
- [成功] iOS 16.2物理设备:运行正常
注意:暂未确认Android 12以下版本是否存在该问题
报错相关Flutter代码
尝试两种写法,结果一致:
NotificationSettings settings = await FirebaseMessaging.instance.requestPermission();
或
NotificationSettings settings = await FirebaseMessaging.instance.getNotificationSettings();
Flutter错误信息
I/flutter (11341): FlutterFire Messaging: An error occurred in your background messaging handler: I/flutter (11341): [firebase_messaging/unknown] Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference
Flutter环境信息
已安装的相关插件
- firebase_core: ^2.4.1
- firebase_messaging: ^14.2.1
- flutter_local_notifications: ^13.0.0
- permission_handler: ^10.2.0
flutter doctor -v结果
[✓] Flutter(稳定通道,3.7.0版本,运行于macOS 13.1 22C65 darwin-arm64,语言环境es-ES) • Flutter版本3.7.0,稳定通道,路径:/Users/josevv/development/flutter • 上游仓库:https://github.com/flutter/flutter.git • Framework版本号:b06b8b2710(9天前),2023-01-23 16:55:55 -0800 • Engine版本号:b24591ed32 • Dart版本:2.19.0 • DevTools版本:2.20.1 [✓] Android开发工具链(Android SDK版本33.0.0) • Android SDK路径:/Users/josevv/Library/Android/sdk • 平台:android-33,build-tools 33.0.0 • Java二进制文件路径:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java • Java版本:OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301) • 已接受所有Android许可证 [✓] Xcode(iOS与macOS开发,Xcode 14.2) • Xcode路径:/Applications/Xcode.app/Contents/Developer • Build版本:14C18 • CocoaPods版本:1.11.3 [✓] Chrome(Web开发) • Chrome路径:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio(2022.1版本) • Android Studio路径:/Applications/Android Studio.app/Contents • Flutter插件可从以下地址安装: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart插件可从以下地址安装: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java版本:OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301) [✓] VS Code(1.74.3版本) • VS Code路径:/Applications/Visual Studio Code.app/Contents • Flutter扩展版本:3.58.0 [✓] 已连接设备(3台可用) • NE2213(移动设备)• eea79ab4 • android-arm64 • Android 12(API 31) • macOS(桌面设备)• macos • darwin-arm64 • macOS 13.1 22C65 darwin-arm64 • Chrome(Web设备)• chrome • web-javascript • Google Chrome 109.0.5414.119 [✓] HTTP主机可用性 • 所有必要的HTTP主机均可用 • 未发现问题!
预期与当前行为
- 预期行为:正常接收后台推送通知
- 当前行为:Android 12设备上因上述错误无法接收后台推送通知(暂未确认12以下版本情况)
内容的提问来源于stack exchange,提问作者JVV73
相关产品推荐
相关产品推荐

