当使用手机时,一切通常都能正常运作
打开浏览器,互联网就能加载,打开一个应用程序,Dash的照片就能加载。
但是作为一个开发者,你怎么提前知道那些网络请求会不会正常运作呢?
Connectivity可为此带来帮助
他的核心是告诉你设备是连接到无线网络、蜂窝网络,或什么都不用
这个API有两种使用方式,首先是立即获取连接状态
首先构建一个新的Connectivity对象,然后等待checkConnectivity,对于可能使用的网络的结果有三种选项:无线网络、移动网络或什么都不用
var result = await Connectivity().checkConnectivity();
switch(result) {
case ConnectivityResult.wifi:
/* ... */
case ConnectivityResult.mobile:
/* ... */
case ConnectivityResult.none:
/* ... */
}
checkConnectivity是一个围绕平台特定代码的接口,用于检查每个特定平台的连接状态
根据用户如何使用他们的平台,连接可能会发生变化
进入检查连接性的第二种方法,一旦有了connectivity对象,就使用onConnectivityChanged来注册监听器回调,这为你提供了一个流订阅,你可以使用它来更新改变了的状态,结果将是和之前一样的三个选项之一
StreamSubscription<ConnectivityResult> _stream = _connectivity.onConnectivityChanged.listen(_updateConnectionStatus);
就这样!有了这些新知识,你将能狗知道你的应用程序有什么样的互联网连接
欲知更多关于连接和所有其他包的详情,请访问pub.dev
原文翻译自视频:视频地址