我试图使用以下代码获取INetAddress:
try
{
var address = InetAddress.GetByName ("google.com");
System.Diagnostics.Debug.WriteLine (address);
}
catch (Java.Net.UnknownHostException)
{
System.Diagnostics.Debug.WriteLine ("not working");
}
但它始终打印"不工作"。我查了一下,我的网络连接很好。我不知道为什么会这样。提前谢谢。
答案 0 :(得分:0)
我可以使用AsyncTask
解决此问题。
这是我的实现
public class ConnectionCheckAsyncTask : AsyncTask
{
private bool isInternetReachable()
{
try
{
var address = InetAddress.GetByName("google.com");
}
catch (Exception e)
{
return false;
}
return true;
}
protected override Object DoInBackground(params Object[] @params)
{
var res = isInternetReachable();
return res;
}
}
获得您需要做的结果
var task = new ConnectionCheckAsyncTask();
task.Execute();
var isReacheble = (bool)await task.GetAsync();
检查inet连接的另一个选项。您只需使用下一个代码
更改isInternetReachable
中的ConnectionCheckAsyncTask
即可
private bool isInternetReachable()
{
try
{
URL url = new URL("http://www.google.com");
HttpURLConnection urlConnect = (HttpURLConnection)url.OpenConnection();
Object objData = urlConnect.GetContent(new Class[0]);
}
catch (Exception e)
{
return false;
}
return true;
}