Java 如何停止android中使用PostDelayed方法启动的线程
我在android应用程序中创建了一个线程,通过向服务器发出http请求来获取数据 我使用以下代码创建了线程,并定义了如下处理程序Java 如何停止android中使用PostDelayed方法启动的线程,java,android,Java,Android,我在android应用程序中创建了一个线程,通过向服务器发出http请求来获取数据 我使用以下代码创建了线程,并定义了如下处理程序 private Handler mHandler = new Handler(); final Runnable mUpdateTimeTask = new Runnable() { public void run() { dilogShow=false; getappdata(); } }; 为了启动这个线程,我使
private Handler mHandler = new Handler();
final Runnable mUpdateTimeTask = new Runnable() {
public void run() {
dilogShow=false;
getappdata();
}
};
为了启动这个线程,我使用了以下代码行
mHandler.postDelayed(mUpdateTimeTask, 20000);
为了阻止它,我使用了下面的代码行,这行代码有时有效,但并不总是有效
mHandler.removeCallbacks(mUpdateTimeTask);
getappdata()函数如下所示:
public void getappdata() {
final Handler handler = new Handler() {
@Override
public void handleMessage(Message message) {
// managing UI here
};
};
Thread thread = new Thread() {
@Override
public void run() {
// sending http request here
};
};
thread.start();
}
请帮帮我。您可以使用thread.stop();将线程设置为全局线程,以便您也可以在函数外部使用它。
它有时在完成线程执行时停止,否则将挂起。线程上的操作而不是处理程序将执行此操作。这里的处理程序只是延迟线程的开始。您试图实现什么,您的问题是什么?