我已经阅读了很多答案,正确的方法可能是在while
循环中设置一个标志,当标志变为false
时,线程将停止。
public void run() {
// TODO Auto-generated method stub
while(flag){
doSomething...
}
}
但是我在run
方法中包含了一个http请求,我的代码中没有这样的while
循环,如何正确地停止它,如果我只停止线程,它是否正常,或者我必须做更多的事情来阻止httprequest?
答案 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 在那里你也可以找到一个例子。