2

私は HttpClient を使用して投稿し、Android で何かを取得していますが、これはうまく機能しますが、インターネット接続がない場合、強制的に閉じます。HttpPost を作成するときに UnknownHostException をキャッチする方法ですか? リクエストを行う前にインターネットに接続されていることを確認できることはわかっていますが、電話がサービスを受けていない場合はどうなりますか?

4

2 に答える 2

6

UnknownHostExceptionIOExceptionのサブクラスであるため、単に IOException またはより具体的なもの (NoRoute、ConnectTimeout など) をキャッチするだけでキャッチ/管理できるはずです。

また、ネットワーク呼び出しを行う前に接続チェックを追加することを検討してくださいConnectivityManager

于 2012-06-26T15:46:54.430 に答える
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"/>
于 2012-06-26T15:46:06.817 に答える