ios - Flutter 连接:在 Android 上工作,但在 iOS 模拟器上,当我可以在 Safari 中打开网页时,我有互联网,但应用程序说没有互联网?
问题描述
我使用这个包:https ://pub.dev/packages/connectivity_plus
我有一个在 Android 上运行的已完成应用程序,但是当我在 iOS 上对其进行测试时,它显示没有互联网。我可以在 Safari 中使用和打开页面,所以肯定有一个。但以下代码在 iOS 中返回 false:
class InternetConnectivity with ChangeNotifier {
StreamSubscription<ConnectivityResult>? _subscription;
bool haveInternet = false;
void checkConnectivity() {
if (_subscription == null) {
_subscription = Connectivity().onConnectivityChanged.listen((ConnectivityResult result) {
bool res = result == ConnectivityResult.mobile || result == ConnectivityResult.wifi;
setHaveInternet = res;
});
}
}
set setHaveInternet(bool value) {
if (haveInternet != value) {
haveInternet = value;
notifyListeners();
}
}
}
我没有收到任何错误,所以我真的不知道在哪里寻找问题。
在它检查互联网连接是否以此开头的屏幕上:
bool _haveInternet = true;
然后在initState()
我设置它的值:
@override
void initState() {
super.initState();
InternetConnectivity ? _internetConnectivity = InternetConnectivity();
setState(() {
_haveInternet = _internetConnectivity!.haveInternet;
});
initState()
跑完之后,变成了_haveInternet
假,所以connectivity_plus包返回假,而通常它应该是真的。
提前致谢。
解决方案
推荐阅读
- c# - 在内存中创建 Zip 存档,并从 Web api 返回
- python - 使用 Python 从文件夹中的文件中递归删除 Windows 只读标志
- google-apps-script - 搜索文档中的单词并放入 Array
- reporting-services - 无法从查询中解析多维数据集名称
- php - 即使使用了文件意外结束
所以我使用 AJAX 加载我的表数据......这是我的 ajax:
function loadSupplies(){ $.ajax({ url : '../controller.php', data : {loadTable : 1}, success : function(data){ $('#tbodySupplies').html(data);
- java - FCM 使用 firebase-admin 库通过防火墙发送 msg
- wpf - AcquireTokenAsync() 在登录弹出窗口中引发 cookiesdisabled 错误
- java - Android Things 和 Adafruit Ultimate GPS Breakout v3
- c# - 如何使用 C# 将同一对象模型的多个节点添加到 API POST 请求
- scala - 错误 SparkContext:91 - 初始化 SparkContext 时出错