共享首选项在 flutter 中无法在后台运行

Ahm*_*iti 10 background-service flutter

我在flutter中使用shared_preferences: ^2.0.7和flutter_background_service: ^0.1.5,但是当调用共享首选项时给我错误

“颤动:未处理的异常:MissingPluginException(在通道plugins.flutter.io/shared_preferences上找不到方法 getAll 的实现)”

在前台模式下,调用是正确的,只有在后台模式下调用时才会出现此问题。

Oma*_*sam 5

我也发生了同样的问题

在后台:它存储值(通过设置后读取值进行检查)

在前台:找不到任何存储的值

解决方案

只需在获取和设置之前重新加载首选项实例

 final prefs = await SharedPreferences.getInstance();
 prefs.reload();  // The magic line 
Run Code Online (Sandbox Code Playgroud)


MAN*_*ISH 1

通常,当第三方 pulgin 文件未正确包含在构建 apk 中时,会发生这种情况,以避免这种尝试:

flutter clean
flutter pub get
flutter run
Run Code Online (Sandbox Code Playgroud)

这将确保正确构建所需的文件。

提示:当向 pubspec.yaml 文件添加新插件时,请避免热重载热重启,确保从头开始构建 apk,以便所有必需的文件都包含在您的构建中。