问题描述
我已经成功检查了此“主菜单”页面上的连接,但是我需要在我的应用程序中的每个其他页面上连续检查该连接。还有另一种方法可以连续检查连接而不必到处重新编写代码吗?还有其他与我类似的问题,但是我对如何从connectivity插件包实现连续连接流感到迷茫。
class MainMenu extends StatefulWidget {
MainMenu({this.latCoordinates,this.longCoordinates,this.postcode});
final double latCoordinates;
final double longCoordinates;
final String postcode;
@override
_MainMenuState createState() => _MainMenuState();
}
class _MainMenuState extends State<MainMenu> with SingleTickerProviderStateMixin {
bool isConnected = false;
bool showSpinner = false;
void connect() async {
try {
final result = await InternetAddress.lookup('example.com');
if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
setState(() {
isConnected = true;
showSpinner = false;
});
}
} on SocketException catch (_) {
setState(() {
isConnected = false;
Timer(Duration(seconds: 2),(){
setState(() {
showSpinner = false;
});
});
// showSpinner = false;
});
}
}
@override
void initState() {
connect();
super.initState();
}
@override
Widget build(BuildContext context) {
return isConnected ? Scaffold(
backgroundColor: Colors.white,) :
ModalProgressHUD(
inAsyncCall: showSpinner,child: Scaffold(
backgroundColor: Colors.green,);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)