You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成Firebase Messaging时出现Expecting binder but got null错误

问题排查与解决方案

日志条目分析与对应处理

1. E/SurfaceSyncer 和 W/Parcel 错误

这类错误属于Android系统层的Surface同步、Binder通信问题,和Firebase Messaging集成无直接关联:

  • 重启测试设备/模拟器,清理App缓存后重试即可解决。
  • 若使用模拟器,建议切换到Android 10及以上的系统镜像,旧版本镜像易出现这类兼容性问题。

2. WorkSource 隐藏方法访问警告

这些是Firebase SDK内部调用Android隐藏API触发的警告,无需开发者手动修复:

  • 这类警告不影响Token获取、推送功能的正常运行,Firebase团队会在后续SDK版本中适配Android的API限制。
  • 若想屏蔽这类日志,可在AndroidManifest.xml中添加:
<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

同时在app/build.gradle的android块内补充:

android {
    // 其他配置保留
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
        ignoreWarnings true
    }
}

3. FLTFireMsgReceiver 广播接收日志

这是正常日志,说明Firebase Messaging的广播接收器正在工作,属于预期行为,无需处理。

Token获取功能的关键配置检查

你的代码逻辑没问题,但需确认以下Firebase基础配置是否完成:

  • 已将Firebase控制台下载的google-services.json放置到Android项目的app/目录下。
  • app/build.gradle中已正确配置Firebase依赖:
plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'dev.flutter.flutter-gradle-plugin'
    id 'com.google.gms.google-services' // 必须添加
}

dependencies {
    // 其他依赖保留
    implementation platform('com.google.firebase:firebase-bom:32.7.0') // 使用最新BOM版本
    implementation 'com.google.firebase:firebase-messaging'
}
  • Android 13及以上设备需主动请求通知权限,在init方法中补充:
import 'package:permission_handler/permission_handler.dart';

// 插入到init函数内
await Permission.notification.request();

(需先在pubspec.yaml中添加permission_handler依赖)

代码优化建议

优化Token获取方法,增加异常捕获:

Future<String> getDeviceToken() async {
  try {
    FirebaseMessaging messaging = FirebaseMessaging.instance;
    // iOS需请求APNs令牌,Android可省略
    await messaging.requestPermission();
    String? deviceToken = await messaging.getToken();
    return deviceToken ?? "";
  } catch (e) {
    print("Token获取失败: $e");
    return "";
  }
}

内容的提问来源于stack exchange,提问作者Dhrisya L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:01:12