我在 flutter 中使用 Injectable 库进行依赖注入,但收到错误,无法使用 SharedPreferences。
错误:发生异常。FlutterError(ServicesBinding.defaultBinaryMessenger 在绑定初始化之前被访问。如果您正在运行应用程序并且需要在runApp()调用之前访问二进制信使(例如,在插件初始化期间),那么您需要显式调用第WidgetsFlutterBinding.ensureInitialized()一个。如果你正在运行一个测试,你可以调用TestWidgetsFlutterBinding.ensureInitialized()作为测试main()方法中的第一行来初始化绑定。)
我尝试创建一个类并放置 @lazySingleton
Future<SharedPreferences> get prefs => SharedPreferences.getInstance();
Run Code Online (Sandbox Code Playgroud)
我尝试将 WidgetsFlutterBinding.ensureInitialized()
void main() {
WidgetsFlutterBinding.ensureInitialized();
configureInjection(Environment.prod);
runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)