首页 > 其他分享 >集成 Firebase 后,Flutter IM SDK 在 Android 端不触发回调

集成 Firebase 后,Flutter IM SDK 在 Android 端不触发回调

时间:2024-01-12 11:32:08浏览次数:21  
标签:backgroundFlutterEngine shellArgs FlutterEngine instance Firebase IM new Android

描述 客户已集成 Firebase Messaging,Android 平台 Flutter IM SDK 的不触发任何回调。

分析(根因分析、需求分析) 可能原因是客户构建了一个 FlutterEngine instance,导致 SDK 的 FlutterEngine instance 失效了。

解决方案 找到以下 java 文件 packages/firebase_messaging/firebase_messaging/android/src/main/java/io/flutter/plugins/firebase/messaging/FlutterFirebaseMessagingBackgroundExecutor.java

修改代码如下:

if (shellArgs != null) {

Log.i(

TAG,

"Creating background FlutterEngine instance, with args: "

+ Arrays.toString(shellArgs.toArray()));

// 1. 修改此处如下

// backgroundFlutterEngine =

// new FlutterEngine(

// ContextHolder.getApplicationContext(), shellArgs.toArray());

backgroundFlutterEngine =

new FlutterEngine(

ContextHolder.getApplicationContext(), shellArgs.toArray(), false);



} else {

Log.i(TAG, "Creating background FlutterEngine instance.");

// 2. 修改此处如下

// backgroundFlutterEngine =

// new FlutterEngine(ContextHolder.getApplicationContext());

backgroundFlutterEngine =

new FlutterEngine(ContextHolder.getApplicationContext(), null, false);

}


标签:backgroundFlutterEngine,shellArgs,FlutterEngine,instance,Firebase,IM,new,Android
From: https://blog.51cto.com/u_16340920/9213297

相关文章

  • 无涯教程-Redis - TIME 命令函数
    RedisTIME命令以两个项目列表的形式返回当前服务器时间-一个Unix时间戳和在当前秒中已经经过的微秒数。TIME-返回值包含两个元素-当前时间(以UNIX时间戳格式表示),以秒为单位。当前这一秒钟已经逝去的微秒数。TIME-语法以下是RedisTIME命令的基本语法。redi......
  • [论文阅读] Self-conditioned Image Generation via Generating Representations
    Pretitle:Self-conditionedImageGenerationviaGeneratingRepresentationsaccepted:arXiv2023paper:https://arxiv.org/abs/2312.03701code:https://github.com/LTH14/rcgref:https://mp.weixin.qq.com/s/VmyRya2klHpHlJwzMG8JRgref:https://www.zhihu.com/q......
  • 核心工具之 ideavim
    对于个人的核心工具集的选择,因为编程中熟练使用主力IDE能够大大提高效率,所以IDE是一个必选项。而IDE与VIM结合的插件,对于VIM使用者,常常是一个必选项。在Jetbrains系列工具中,插件IdeaVim非常优秀,对我个人而言是一个必选项。选用IdeaVim原因有以下几个:安装配置简便对原生的VIM......
  • [Android] EventLogTags.logtags简单使用
    转载来源:https://blog.csdn.net/yfbdxz/article/details/114702144用EventLog.writeEvent打的日志(或EventLogTags.java方法打的日志),可以用logcat-bevents查看frameworks/base/core/java/android/util/EventLog.java//tag:Theeventtypetagcode.value:va......
  • Android架构测试 套小记
    Android架构测试主要是为了确保Android应用程序在不同设备和系统版本上的兼容性、性能和稳定性。这需要对应用程序的各个组件进行测试,包括活动、服务、广播接收器、内容提供程序等。以下是进行Android架构测试时可以采取的一些步骤:单元测试:对应用程序的各个组件进行测试,确保它......
  • [转帖]从Linux源码看TIME_WAIT状态的持续时间
    https://zhuanlan.zhihu.com/p/286537295 从Linux源码看TIME_WAIT状态的持续时间前言笔者一直以为在Linux下TIME_WAIT状态的Socket持续状态是60s左右。线上实际却存在TIME_WAIT超过100s的Socket。由于这牵涉到最近出现的一个复杂Bug的分析。所以,笔者就去Linux源码里面,......
  • SwiftUI 集成 IMKit
    SwiftUI集成IMKit在SwiftUI中,集成IMKit中RCConversationListViewController和RCConversationViewController两页面可能存在以下问题:1、直接在View中使用,两个页面会错位;2、用NavigationView集成会话列表和会话页面,标题失效;分析这两个页面强依赖导航UINavigationCont......
  • 微信小程序 button、image组件
       image组件的基本使用:默认情况下,一个空白的<image></image>组件也会占据一定的宽度和高度 image组件的mode属性:(eg:<image src="/images/1.png" mode="aspectFit"></image>) ......
  • 【独立闯天下】Prime新传奇!原团队的Blazor版本迟迟无音,合并请求石沉大海。于是,我们决
    共建Prime的Blazor版:为开源社区注入新活力Prime组件库作为一款广受欢迎的开源组件库,一直以来都备受开发者们的青睐。然而,随着技术的不断发展和更新,原团队的Blazor版本似乎已经逐渐失去了活力,长时间没有得到更新和维护。在这样的背景下,一群热爱开源、热衷于Blazor技术的开发者们决......
  • "Imagine" 歌词
    Imaginethere‘snoheavenIt’seasyifyoutryNohellbelowusAboveusonlyskyImagineallthepeopleLivingfortodayImaginethere‘snocountriesItisn’thardtodoNothingtokillordieforAndnoreligiontooImagineallthepeopleLivinglifein......