Flutter中后台中无法使用共享首选项

10

我在Flutter中使用shared_preferences: ^2.0.7和flutter_background_service: ^0.1.5。但是当我调用shared preferences时出现错误:

"Flutter: Unhandled exception: MissingPluginException(No implementation found for method getAll on channel plugins.flutter.io/shared_preferences)"

在前台模式下工作时,调用可以正常进行,但此问题仅发生在后台模式下的调用。


2个回答

3

我也遇到了同样的问题。

背景:它存储了一个值(在设置后检查值是否正确)

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

解决方法

在进行获取和设置之前重新加载首选项实例即可。

 final prefs = await SharedPreferences.getInstance();
 prefs.reload();  // The magic line 

0
通常这种情况发生在第三方插件文件没有正确包含在构建的apk中,为了避免这种情况,请尝试:
flutter clean
flutter pub get
flutter run

这将确保使用所需文件进行正确的构建。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接