对于网络连接我使用dio
并用于检查连接状态Connectivity
.
在这里我检查网络状态:
@override
Widget build(BuildContext context) {
bloc.checkConnectivity(Connectivity());
return StreamBuilder(
stream: bloc.getInitApp,
builder: (context, AsyncSnapshot<InitApp> initApp) {
if (initApp.hasData) {
return prepareMain(initApp.data);
} else {
return Center(
child: CircularProgressIndicator(),
);
}
});
}
checkConnectivity
method:
checkConnectivity(Connectivity _connectivity) {
_connectivity.onConnectivityChanged.listen((ConnectivityResult result){
if (result == ConnectivityResult.mobile ||
result == ConnectivityResult.wifi) {
fetchInitApp();
}
});
}
但最终,应用程序仅在 Android 设备上运行,但在 iOS(设备/模拟器)上会出现此错误:
Error connecting to the service protocol: HttpException: , uri = http://127.0.0.1:1024/ws
我试着打电话Api
没有Connectivity
该应用程序运行良好,但仅在 Android 中获取数据,而在 iOS 中仍然存在问题。
也,它发生在Dart http
包裹 。
编辑 1:2019 年 9 月 25 日
This has nothing to do with codes!
The problem is the system WiFi connection.
当您遇到此问题时,请使用此临时解决方案,直到提供完整的解决方案:
- 断开系统 WiFi
- 拔掉手机插头
- 将系统重新连接至 WiFi
- 插上你的手机
- 运行应用程序