我有一個Asynctask,它的持續時間比我希望我的用戶在提交屏幕上等待的時間要長。顯示消息AsyncTask已完成,但用戶處於不同的活動狀態
我目前使用asynctask.get(..),但我希望我的用戶能夠繼續使用應用程序,而Asynctask在後臺運行。
當我的Asynctask不會持有對當前上下文的引用時,如何向用戶顯示消息?
感謝
我有一個Asynctask,它的持續時間比我希望我的用戶在提交屏幕上等待的時間要長。顯示消息AsyncTask已完成,但用戶處於不同的活動狀態
我目前使用asynctask.get(..),但我希望我的用戶能夠繼續使用應用程序,而Asynctask在後臺運行。
當我的Asynctask不會持有對當前上下文的引用時,如何向用戶顯示消息?
感謝
我不能非常已瞭解你的好問題,但記住這一點:
如果您的AsyncTask完成他的工作,你有可能會得到空指針異常和你的應用程序將一個破壞活動引用崩潰。
此外,AsyncTak並非設計用於執行長時間任務,也許您最好的選擇是使用IntentService,如果您想通知用戶界面,則可以使用BroadcastReceivers。
嗨,謝謝你的回答。它看起來像IntentService是我需要的。我在後臺將圖像和視頻上傳到服務器,並希望我的用戶能夠自由使用應用程序(在活動之間切換),並在上傳完成時收到通知。我會更加註意這一點,並且如果我需要的話,請將您的答案標記爲正確。謝謝 – Rik1988
你會舉行一個WeakReference或接口回調,而不是整個上下文或活動 –