异步任务错误处理

时间:2012-01-11 13:09:38

标签: android

我正在编写一个流式传输广播的Android应用程序。我已经设置了一个异步任务,以便在加载流时显示进度对话框。这工作正常,但是当它遇到一个“向下”的流并且我的应用程序崩溃无法运行时,我只想知道处理错误的最佳方法。

以下是代码:

public class loadingData extends AsyncTask<Object, Object, Object>{


    protected void onPreExecute() {

        progDialog = new ProgressDialog(radioplayer.this);
            progDialog.setMessage("Loading radio station");
            progDialog.setIndeterminate(true);
            progDialog.setCancelable(false);
            progDialog.show();

    }   
    protected Object doInBackground(Object... arg0) {

        prs.setStation(strStation);        
        return null;
    }   
    protected void onCancelled() {

        super.onCancelled();
    }
    protected void onPostExecute(Object result) {

        progDialog.hide();
    }
    protected void onProgressUpdate(Object... values) {     
    }   
}

2 个答案:

答案 0 :(得分:1)

重复this

如果使用Roboguice,则可以在异步任务中处理异常。

答案 1 :(得分:0)

你可以做什么(我在我的应用程序中使用这个技巧)是这样的:

protected Object doInBackground(Object... arg0) {
    try {
        prs.setStation(strStation);
        return null;
    }
    catch(Exception ex)
    {
        return ex;
    }
}


protected void onPostExecute(Object result) {
    progDialog.hide();         
    if(result != null && result instanceof Exception) {
        String errText = ((Exception)result).getMessage();
        //now deal with your exception on the UI thread
    }
}