我正在使用可以在这里找到的异步 Http 客户端:http: //loopj.com/android-async-http/
它工作得很好,除了大约每 10 个请求中的 1 个最终给我一个无限的进度对话框,我相信这意味着无论出于何种原因都没有返回任何类型的响应,因为我已经编写了代码来关闭 onSuccess和 onFailure 所以我有点困惑这是怎么发生的。
这是我设置请求的代码:
public static void post(String token,String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
Log.i(token,"token");
client.addHeader("token", token);
client.setTimeout(3000);
client.post(url, params, responseHandler);
}
这里是我覆盖 onSuccess 和 onFailure 的地方:
@Override
public void onFailure(Throwable arg0, String arg1) {
// TODO Auto-generated method stub
super.onFailure(arg0, arg1);
pdialog.dismiss();
Log.i("failed to login", arg1.toString());
Toast.makeText(getActivity(), arg1.toString() , Toast.LENGTH_LONG).show();
}
@Override
public void onSuccess(final JSONObject json) {
pdialog.dismiss();
}