如果服务器关闭或没有互联网连接,将抛出UnknownHostException
。如何确定是否由于服务器关闭或没有互联网连接而抛出了UnknownHostException
?
原因是我需要通知用户有关错误的原因。而且我必须显示类似“抱歉。该服务当前不可用。请稍后再试”或“您没有互联网连接”。
最佳答案
您可以检查网络状态以确定互联网连接是否可用(虽然不是100%可靠):
ConnectivityManager conMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if ( conMgr.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED
|| conMgr.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ) {
...
}
编辑:
恕我直言,无法确保告诉手机互联网连接已断开。
但是,除了检查网络状态之外,您还可以进行简单的测试,例如从Internet上的网站下载一小页(选择一些可靠的服务器)。
两次测试的结果应该在99%的时间内都是准确的。