【发布时间】:2020-04-09 22:04:30
【问题描述】:
我正在使用连接:^0.4.6 插件来检查颤振应用程序中的连接。我的代码如下:
Future<void> main() async {
StreamSubscription connectivitySubscription;
ConnectivityResult _previousResult;
connectivitySubscription = Connectivity()
.onConnectivityChanged
.listen((ConnectivityResult connectivityResult) {
if (connectivityResult == ConnectivityResult.none) {
nav.currentState.push(CupertinoPageRoute(
builder: (BuildContext _) => NoConnectivityView()));
} else if (_previousResult == ConnectivityResult.none) {
nav.currentState.push(CupertinoPageRoute(
builder: (BuildContext _) => LoginScreen()));
}
_previousResult = connectivityResult;
});
Future.delayed(Duration(seconds: 3));
runApp(MyApp());
}
当应用启动后连接发生变化时,它工作得很好。但是,如果在初始状态下没有连接,它就不起作用。 connectivityResult 这次为空。
我该如何解决这个问题?
【问题讨论】:
-
所以如果你要打印
connectivityResult的值,也就是回调中的变量,它会是 null 吗? -
无法在启动时工作,如果互联网连接已关闭..\
-
为什么不为 null 添加一个边界情况?
-
如何添加?
标签: flutter dart connectivity flutter-plugin flutter-packages