我有一個線程安全HttpClient爲整個應用程序,我有一個服務和一個活動,在不同的線程中非常頻繁地進行各種REST API調用。 有時候,我需要取消一個已啓動的HttpRequest,因爲我已經需要用更新的數據啓動另一個。 我不想讓用戶等待第一個請求完成,然後等待第二個請求,也許此時用戶將再次更新數據,我需要調用第三個請求。 所以我想要做的是用舊數據取消請求並開始一個新的數據。我試圖取消AsyncTask,但由於某種原因它不取消已啓動的請求。這是我的代碼:如何在Android中取消HttpRequest
if (getAlbumImage != null && getAlbumImage.getStatus() == AsyncTask.Status.RUNNING) {
Log.d(VibesApplication.VIBES, "cancelling image loader");
getAlbumImage.cancel(true);
}
getAlbumImage = new GetAndSetAlbumImage();
getAlbumImage.execute(performer, name);
另外我試着關閉連接管理器。如下所示:https://stackoverflow.com/a/7311393/1032286 但是我只有一個客戶端和經理,我不想在每次進行REST調用時創建它們。 我該怎麼辦?如果有辦法取消所有正在運行的請求,我會很高興,但是如果有辦法取消單獨的請求,那將會很整潔。
建議重複。 http://stackoverflow.com/questions/7140565/how-do-i-cancel-an-android-http-request/7311393#7311393 – 2015-04-27 21:37:53