httpClient
ANDの両方を停止することはまったくできません httpget
進行状況ダイアログcancel
ボタンをクリックするRequest
と、AsyncTask
停止して中止しますが、そうではなく、リクエストは終了するまで実行されます
これは私のAsyncTask
テストコードです
public class getAlbuminfo extends AsyncTask<String,String, String> {
ProgressDialog progressDialog;
JSONObject data = null;
boolean prependMore = false;
//Http
HttpClient httpClient;
HttpGet httpget;
/**********
* Begien
*/
@SuppressWarnings("deprecation")
@Override
protected void onPreExecute() {
if ( onlypagenat == false )
{
progressDialog = new ProgressDialog(context);
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
progressDialog.setMessage(context.getResources().getString(R.string.opening_album));
progressDialog.setButton(context.getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
cancel(true);
finish();
}});
progressDialog.show();
}
prependMore = appendMore;
appendMore = false;
}
/**************
* IF Canceled
*/
@Override
protected void onCancelled() {
Log.i("Http Response:", "Aborted");
if ( httpget != null )
{
httpClient.getConnectionManager().shutdown();
httpget.abort();
}
}
/****************
* Make Request
*/
@Override
protected String doInBackground(String... params) {
String response = null;
String url = Api.foruminfo.forum_api_url+"/album.php?albumid="+albumid+"&page="+page+"&onlypagenat="+(onlypagenat?1:0);
httpClient = new DefaultHttpClient();
httpget = new HttpGet(url);
//Add Values User Headers and Cookies
httpget.addHeader("Cookie", Api.forumCookies());
httpget.setHeader("Accept-Charset", "utf-8");
// Making HTTP Request
try {
HttpResponse serverResponse = httpClient.execute(httpget);
Log.i("Http HttpResponse:", serverResponse.toString());
//Set Response
response = EntityUtils.toString(serverResponse.getEntity());
} catch (ClientProtocolException e) {e.printStackTrace();
} catch (IOException e) { e.printStackTrace();}
return response;
}
/**********************
* Done
*/
@Override
protected void onPostExecute(String response) {
Log.i("Http HttpResponse:", response);
if ( onlypagenat == false )
{
progressDialog.dismiss();
}
}
}
AndroidでGetまたはPostリクエストを完全に停止する方法についてのアドバイスをお願いしますhttp
!!