2012-06-26 64 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"/> 
相關問題