如何在线程中停止http请求?

时间:2012-12-07 09:22:23

标签: android multithreading httprequest

我已经阅读了很多答案,正确的方法可能是在while循环中设置一个标志,当标志变为false时,线程将停止。

public void run() {
        // TODO Auto-generated method stub
        while(flag){
            doSomething...
        }
}

但是我在run方法中包含了一个http请求,我的代码中没有这样的while循环,如何正确地停止它,如果我只停止线程,它是否正常,或者我必须做更多的事情来阻止httprequest?

2 个答案:

答案 0 :(得分:1)

HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(new HttpGet(URL));

现在,如果您想关闭您的请求,请使用此语法

httpclient.getConnectionManager().shutdown();

答案 1 :(得分:0)

为什么不使用AsyncTask?通过这种方式,您可以调用mTask.cancel();来停止您的请求/您在此任务中运行的任何内容。

看看这个:http://developer.android.com/reference/android/os/AsyncTask.html 在那里你也可以找到一个例子。