我检查了手机是否连接到互联网。我用过这种方式。它工作得很好。但我每节课都用这种方式。相同的代码重复。我不明白,如何在全球使用这种代码。
初始化变量
bool isOffline = false;
初始化状态
@override
void initState() {
ConnectionStatusSingleton connectionStatus =
ConnectionStatusSingleton.getInstance();// connectionStatusSingleton is another class
_connectionChangeStream =
connectionStatus.connectionChange.listen(connectionChanged);
connectionChanged(connectionStatus.hasConnection);
super.initState();
}
connectionChanged 方法
void connectionChanged(dynamic hasConnection) {
setState(() {
isOffline = !hasConnection;
});
}
之后我在小部件中使用 如果连接不可用我显示了appBar,
appBar: isOffline
? PreferredSize(
preferredSize: Size.fromHeight(20.0),
child: AppBar(
leading: Container(),
centerTitle: true,
backgroundColor: Colors.red,
title: Text(
AppTranslations.of(context).text("connection_drop"),
style: TextStyle(fontSize: 15.0, color: Colors.white),
),
),
)
: null,