未处理的异常:在初始化绑定之前访问了 ServicesBinding.defaultBinaryMessenger
Posted
技术标签:
【中文标题】未处理的异常:在初始化绑定之前访问了 ServicesBinding.defaultBinaryMessenger【英文标题】:Unhandled Exception: ServicesBinding.defaultBinaryMessenger was accessed before the binding was initialized 【发布时间】:2020-11-22 23:35:01 【问题描述】:当我尝试处理一个项目时,我从 github 获取源代码并在 android Studio 中打开它。同步后整个代码没有错误,但是当我运行应用程序时,它显示了很多错误:
这些是应用程序中显示的错误。 我曾尝试迁移到 AndroidX,但也没有成功。 所以基本上谁能告诉我如何运行从任何其他来源(如 github)下载的颤振应用程序?
【问题讨论】:
【参考方案1】:这是一个已经提出的问题here。您应该发布控制台中指示的代码。重要的部分似乎是日志的“#6”行,第 17 行包含 flutter_sudoku lib/main.dart
文件包。
查看 github 存储库,确实,他们正在使主要功能“等待”系统方向在此处准备就绪
void main() => SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp, DeviceOrientation.portraitDown])
.then((_)
runApp(
BlocProvider(
bloc: UserDataBloc(),
child: MyApp(),
)
);
);
你必须在等待函数之前调用WidgetsFlutterBinding.ensureInitialized();
void main()
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]).then((_)
runApp(BlocProvider(
bloc: UserDataBloc(),
child: MyApp(),
));
);
【讨论】:
以上是关于未处理的异常:在初始化绑定之前访问了 ServicesBinding.defaultBinaryMessenger的主要内容,如果未能解决你的问题,请参考以下文章
未处理的异常:在 _ScreenState.initState() 完成之前调用了 inheritFromWidgetOfExactType(_LocalizationsScope) 或 inheri