Я использую Internet_connection_checker_plus для своего приложения Flutter, чтобы проверять реальное подключение к Интернету перед каждым запросом на смерть, но когда я запускаю симулятор или эмулятор, я получаю 403 при первом запуске моего приложения для URI, который используется пакетом. Вот часть моего кода, и это происходит в симуляторе или эмуляторе, а не на реальном устройстве.
sealed class NetworkInfoService {
Future get isConnected;
}
class NetworkInfoServiceImpl implements NetworkInfoService {
NetworkInfoServiceImpl({
required Connectivity connectivity,
required InternetConnection checker,
}) : _connectivity = connectivity,
_checker = checker;
final Connectivity _connectivity;
final InternetConnection _checker;
@override
Future get isConnected async {
final List result =
await _connectivity.checkConnectivity();
final bool hasNetwork = result.contains(ConnectivityResult.wifi) ||
result.contains(ConnectivityResult.mobile) ||
result.contains(ConnectivityResult.vpn);
if (!hasNetwork) {
return false;
}
return _checker.hasInternetAccess;
}
}
sealed class InternetConnectivityGuard {
Future ensureConnectedToInternet();
}
class InternetConnectivityGuardImpl implements InternetConnectivityGuard {
InternetConnectivityGuardImpl({
required NetworkInfoService networkInfo,
}) : _networkInfo = networkInfo;
final NetworkInfoService _networkInfo;
@override
Future ensureConnectedToInternet() async {
final bool isConnected = await _networkInfo.isConnected;
if (!isConnected) {
final String message =
getItInstance.isRegistered()
? getItInstance().text
: _Constants.noInternetConnectionMessage;
throw NoInternetException(
message: message,
);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... rls-return