停止在android活动中执行任务

时间:2014-02-27 06:29:26

标签: android android-activity android-asynctask

我正在阅读How to avoid force close error。这里作者表明,如果未捕获的异常引发,它将重定向到另一个活动。

我的问题是,有没有办法stop all executing task on that activity并将错误显示为吐司而不会转到其他活动以显示错误。

so the main problem in the above question is how to stop executing 
task(like asyntask) that are currently running on that activity?

3 个答案:

答案 0 :(得分:0)

如果我找到了你,你想要在发生异常时立即停止所有的asynctasks。为此,您可以在try块和catch块中编写可疑代码,检查您的异步任务的状态,如果它正在运行,请将其停止。你可以检查这样的状态:

if(yourAsyncTask.getStatus() == AsyncTask.Status.RUNNING){
      yourAsyncTask.cancel(true); // cancel or stop your task.
}

答案 1 :(得分:0)

在android

中强制关闭有几个原因

Runtime-Exceptions的大多数原因都是Nullpointers。始终避免这些问题!这是非常必要的。

使用try catch块可以避免这个问题。

try{
    // your code where you are unsure what is the output
}catch(exception e)
{
 e.printStackTrace();
 //display the occurred exception as a toast (as you asked in the ques) 
 Toast.makeText(context, "exception : "+e.toString(), Toast.LENGTH_LONG).show();
}

其他错误案例 - 尤其是在android中 - 主要是使用从一个活动到另一个活动的错误或缺失的上下文。

答案 2 :(得分:0)

你试过..

    myTask.stop();