【发布时间】:2018-04-17 23:52:04
【问题描述】:
我正在尝试验证我的应用程序是否可以访问互联网,为此我占用了其版本 4 中的插件 Xam.Plugin.Connectivity ...问题是我在 Ping 网络时收到的答案总是错误的
这是我从我的应用程序登录中调用的函数...如您所见,它是一个异步函数...
private async void Login()
{
IsRunning = true;
IsEnabled = false;
var connection = await apiService.CheckConnection();
if (!connection.IsSuccess)
{
IsRunning = false;
IsEnabled = true;
await dialogService.ShowMessage("Error", connection.Message);
return;
}
}
这是验证连接状态的类
public async Task<Response> CheckConnection()
{
if (!CrossConnectivity.Current.IsConnected)
{
return new Response
{
IsSuccess = false,
Message = "Porfavor active su servicio de internet."
};
}
var isReachable = await CrossConnectivity.Current.IsRemoteReachable("www.google.com");
if (!isReachable)
{
return new Response
{
IsSuccess = false,
Message = "Verifique su conexion a internet."
};
}
else
{
return new Response
{
IsSuccess = true,
Message = "OK"
};
}
}
问题发生在到达IsRecheable变量的时候,取false值,如果跟在后面不进入...
但它会立即返回“空”连接的状态...
我也收到以下错误
我已经给了相应的插件运行权限
发生了什么事?任何我做错的异步调用?这个插件有什么推荐吗?有什么帮助吗?
【问题讨论】:
-
格式正确的 uri 包含协议“google.com”
标签: c# asynchronous xamarin xamarin.forms async-await