Проверьте, доступно ли подключение к Интернету в приложении Flutter
Мне нужно выполнить сетевой вызов. Но перед этим мне нужно проверить, есть ли у устройства подключение к интернету.
Это то, что я сделал до сих пор:
var connectivityResult = new Connectivity().checkConnectivity();// User defined class
if (connectivityResult == ConnectivityResult.mobile ||
connectivityResult == ConnectivityResult.wifi) {*/
this.getData();
} else {
neverSatisfied();
}
выше метод не работает.
1 ответов
на connectivity
плагин заявляет в своих документах, что он предоставляет информацию только при наличии сетевого подключения, но не при подключении сети к интернету
обратите внимание, что на Android, это не гарантирует подключение к интернету. Например, приложение может иметь доступ к wifi, но это может быть VPN или отель WiFi без доступа.
можно использовать
import 'dart:io';
...
try {
final result = await InternetAddress.lookup('google.com');
if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
print('connected');
}
} on SocketException catch (_) {
print('not connected');
}