处理Activity中的AsyncTask.doInBackground中的异常?

myd*_*rms 1 android android-asynctask

我遵循过程和线程指南来实现AsyncTask一个Android活动,我将在其中执行一些数据库访问.但是,我的代码必须处理异常doInBackground.

我目前的想法是提供一个Toast弹出窗口来通知用户此异常,但现在我担心这也" 违反了单线程模型的第二条规则:不要从UI线程外部访问Android UI工具包 "(如根据指南).

提供Toast弹出窗口会不会错?有没有更好的方法来处理doInBackground方法中的异常?

Mat*_*ieu 5

异常是否会导致您停止doInBackground正在处理的内容?

如果是,请存储您遇到的异常,退出doInBackground并显示ToastonPostExecute

如果没有,通过异常信息onProgressUpdatepublishProgress.

试图弹出Toast输入doInBackground将无法正常工作.