2012-06-26 35 views
2

我正在使用HttpClient发布然后检索Android中的东西,这很好用,但是当我没有互联网连接时,它强制关闭,是他们在制作HttpPost时捕捉UnknownHostException的方法?我知道在提出请求之前我可以确定它已连接到互联网,但如果手机没有服务,那该怎么办?你如何在android中捕获UnknownHostException?

+0

结帐这个回答关于Android的'ConnectivityManager':http://stackoverflow.com/a/4009133/180740 –

+0

的可能重复[如何在检查网络连接Android的? InetAddress永不超时](http://stackoverflow.com/questions/1560788/how-to-check-internet-access-on-android-inetaddress-never-timeouts) –

回答

6

的UnknownHostExceptionIOException一个子类,所以你应该能够赶上/管理它只是捕捉IOException或更具体的东西(NoRoute,ConnectTimeout等)

还考虑增加连接检查之前做网络电话与ConnectivityManager

+1

谢谢!正是我想知道的:) –

3

您可以检查您与

  ConnectivityManager cm = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE); 
      if (cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnected() || cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected()) { 
        //connected 
      } else { 
        //not connected 
      } 

看房连接,并在AndroidManifest

设置的权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
相关问题