如何在设备Home按钮点击时弹出所有异步任务

3

我希望在设备的主页按钮按下时停止所有异步任务,但问题是当进度对话框正在运行时,只有进度对话框被关闭,并且它不会转到我在onKeyDown()方法中提到的逻辑来杀死我的异步任务。因此,即使应用程序关闭,异步任务仍在后台运行,导致应用程序崩溃。是否有解决方案可以在主页按钮点击时关闭进度对话框以及所有异步任务?

2个回答

1
在Java中,我们无法停止已启动并正在运行的线程。同样适用于AsyncTask。
但是,您可以尝试调用asyncTask.cancel(),它的作用类似于thread.interrupt()。这可能会抛出InterruptedException异常。如果后面还有更多代码,则这些代码也将执行,因此请注意处理。

1

实际上问题是,当进度对话框正在运行时,我按下主页按钮,onKeyDown()无法捕获按键,它只会关闭进度对话框,那么有没有办法覆盖进度对话框。 - abhishek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接