Java 取消内部的异步任务
所以我的问题如下,我有一个AsyncTask类,它是从首选项文件(即,从xml文件中调用的)调用的。这个AsyncTask类在我对房间内的声音进行实时FFT时一直在运行,只有当我按下返回按钮时才会取消。由于该类扩展了AsyncTask,我无法检查是否按下了键,因此我无法正确结束线程,使其达到onCancelled()状态。我可以考虑结束这一过程的唯一其他方法是创建一个备用类,该类从xml文件调用,该文件反过来调用该类并调用类对象上的.cancel(true)。。还有其他的想法吗 你能发布一些代码吗 在调用方法中(您可以在其中检查键),您可以调用Java 取消内部的异步任务,java,android,android-asynctask,Java,Android,Android Asynctask,所以我的问题如下,我有一个AsyncTask类,它是从首选项文件(即,从xml文件中调用的)调用的。这个AsyncTask类在我对房间内的声音进行实时FFT时一直在运行,只有当我按下返回按钮时才会取消。由于该类扩展了AsyncTask,我无法检查是否按下了键,因此我无法正确结束线程,使其达到onCancelled()状态。我可以考虑结束这一过程的唯一其他方法是创建一个备用类,该类从xml文件调用,该文件反过来调用该类并调用类对象上的.cancel(true)。。还有其他的想法吗 你能发布一些代码
myASyncTask.cancel()
,然后在AsyncTask的doInBackground()
方法中,您可以检查isCancelled()
,然后中断循环并返回到AsyncTask的重写onCancelled()
方法
这有帮助吗?我的问题是,该类(扩展了AsyncTask)是从首选项XML文件调用的,即“是的,那么,我认为您最初的想法是最好的。使用在onCreate()中调用的私有AsyncTask类创建活动。这样你就可以检查钥匙之类的东西了。做得很好,一切都很好。谢谢!如果这个答案对你有帮助,请随意接受/投票:)