1
我有兩個活動。 我有我需要得到Facebook好友的數據,他們對事件的活動,並 保存所有的數據到數據庫,然後顯示與特定信息的頁面,但所有 這需要大量的時間。所以在做所有這些之前,我將意圖轉移到另一個活動 ,因此活動#1在後臺創建解析器並將其保存在數據庫中。 但現在我需要通知我的活動#2,當所有的計算是這樣做的,我可以 使一些用戶界面按鈕以及顯示其現在存儲在數據庫中的數據。如何通知當前活動從以前的活動
我有兩個活動。 我有我需要得到Facebook好友的數據,他們對事件的活動,並 保存所有的數據到數據庫,然後顯示與特定信息的頁面,但所有 這需要大量的時間。所以在做所有這些之前,我將意圖轉移到另一個活動 ,因此活動#1在後臺創建解析器並將其保存在數據庫中。 但現在我需要通知我的活動#2,當所有的計算是這樣做的,我可以 使一些用戶界面按鈕以及顯示其現在存儲在數據庫中的數據。如何通知當前活動從以前的活動
如果您確實需要這兩項活動(因爲您只需要下載數據就不需要活動1),那麼AsyncTask
將不會有好處,因爲它旨在附加到特定的Activity
。
你寧願做的是開始Service
(其中AsyncTask
或更好,IntentService
)。當它完成自己的工作,你可以做這樣的事情:
Intent finish = new Intent(com.mypackage.intent.ACTION_DOWNLOADCOMPLETE);
sendBroadcast(finish);
而在你的活動#2聽這個廣播與BroadcastReceiver
。
您是否需要使用Activity 1來加載其他內容?如果沒有,那麼你設計你的應用程序流的方式是錯誤的。當Activity進入後臺(暫停,停止),那麼你在那裏啓動的任何東西都不會繼續工作(除非你把它放在AsyncTask或IntentService的另一個線程中)。 –