【Flutter开发】判断是否为 attach 方式运行

551 阅读1分钟

背景

在通过 AddToApp 的方式进行 Flutter 混合开发时,通常需要在 Flutter 启动时 向 NA 端获取一些配置信息,而 这种 【与NA端通信】的行为 在独立运行 FlutterModule 时是不需要的,所以这就涉及到【如何判断 是否为 flutter attach 方式运行】的问题。

实现方法

方案一:基于 flutter module 的 appName

考虑到 flutter module 中 .ios/.android 工程的配置是生成的,默认情况下他们的工程配置也大都与主工程不同,所以考虑到了 通过对比他们的 appName 来识别,当前 flutter 代码是 attach 运行,还是独立运行的,

具体如下:

// import 'package:package_info_plus/package_info_plus.dart';

packageInfo = await PackageInfo.fromPlatform();
isAddToApp = packageInfo.appName == '<flutter_module_app_name>' ? false : true;

flutter_module_app_name 的默认值,就是 flutter_module 的名字

其他

// 我也想知道...
// 
// 欢迎有同样遭遇,或是有相关方法的同学  在留言区交流讨论~~