0
我讽刺之前,阻止主UI线程,这里是情景:如何在主UI线程被阻塞时显示progressdialog?
- 服务运行每天一次 - 大约需要15秒才能完成。重型数据库事务
- 巧合的是用户从数据库
- 主屏幕加载数据在此期间启动应用程序,但因为该数据库被锁定(步骤1),这将引发一个错误。
所以我需要冻结UI线程,直到服务完成。没有AsyncTask,因为UI将继续执行并抛出错误。我设法让“onResume”功能休眠直到服务完成。但在那段时间内,我无法显示任何对话框告诉用户等待或任何进度条告诉用户坐下。
如果我尝试
start onResume
if (service is running?)
show progress dialog
while the service is running, thread.sleep
dismiss progress dialog
end onResume
线程睡眠很好,醒来很大。但该死的进度对话框不显示,直到onResume ...恢复!底线,我如何在让主线程进入睡眠状态之前显示一个指示符(进度对话框或对话框)?
我接受加载另一个活动直到服务恢复的解决方案。我已经尝试过,但以前的活动继续愉快:|
谢谢 - 我会尝试创建一个“加载活动”的建议,并让你知道它是如何工作的。我需要找到一种方法来确保首先调用活动,即使用户转到主屏幕并返回。嗯... –
这最终是最好的解决方案 –