Flutter 在发布模式下找不到“电话”,但在发布模式下前台正常,我在后台功能上添加了装饰器,但仍然不起作用

问题描述 投票:0回答:2

我正在使用Telephony插件开发短信应用程序,根据类似的解决方案,我在顶层后台处理程序的顶部添加了一个装饰器,然后在发布模式下运行它,

运行后,debug模式正常,release模式前台也正常,只是“后台”和“终止”都不正确

@pragma('vm:entry-point')
Future<void> onBackgroundMessage(SmsMessage message) async {
  debugPrint("onBackgroundMessage called");
  ............
}

添加后,还是不行,出现同样的Dart错误信息:

“Dart 错误:Dart_LookupLibrary:未找到库‘package:telephony/telephony.dart’。”

我已经添加了装饰器

@pragma('vm:entry-point')
,还是不行。

flutter telephony
2个回答
0
投票

我解决了这个问题,只需要在 pubspec.yaml 中更改或添加 git 链接即可,

telephony: 
    git:
      url: https://github.com/definev/Telephony.git
      ref: develop

0
投票

使用 telephony_fix

该错误是因为 flutter 框架会在发布模式下对电话包代码进行树摇,因此它在发布模式下无法工作

telephony_fix包通过防止发布模式下后台消息处理程序的树抖动来修复该错误。

© www.soinside.com 2019 - 2024. All rights reserved.