我正在编写一个流式传输广播的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) {
}
}
答案 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
}
}