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 ...恢復!底線,我如何在讓主線程進入睡眠狀態之前顯示一個指示符(進度對話框或對話框)?
我接受加載另一個活動直到服務恢復的解決方案。我已經嘗試過,但以前的活動繼續愉快:|
謝謝 - 我會嘗試創建一個「加載活動」的建議,並讓你知道它是如何工作的。我需要找到一種方法來確保首先調用活動,即使用戶轉到主屏幕並返回。嗯... –
這最終是最好的解決方案 –