我想在设备主页按钮按下时停止所有异步任务,但问题是当进度对话框正在运行时,在主页按钮上单击只有进度对话框杀死它并且它确实转到我提到的onKeyDown()方法杀死我的异步任务的逻辑。因此,即使应用程序关闭并且我的应用程序崩溃,异步任务也会在后台运行。是否有任何解决方案可以关闭进度对话框以及主页按钮上的所有异步任务单击
答案 0 :(得分:1)
在java中,我们无法阻止已启动并正在运行的Thread
。 AsyncTask
但您可以尝试拨打asyncTask.cancel()
,就像thread.interrupt()
一样。它可能会抛出InterruptedException
。如果后面存在更多代码,这些代码也将执行,因此请注意它。
答案 1 :(得分:1)
你不能直接拦截对主页按钮的调用。虽然按下主页按钮onPause()将被调用,所以你可以覆盖该方法并将你的逻辑放在那里。
查看http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle了解详情