2015-09-24 40 views
0

我在執行異步類的東西(從活動A),然後將結果之前來了,我開始另一項活動B. 現在我想根據從異步類結果在B到執行的代碼塊。如何在非活動類的活動中執行某些操作?

我無法通過互聯網找到合適的解決方案。因此張貼在這裏。

回答

0

定義自己的MyApp extends Application類,並在您的清單聲明爲<application android:name="mypackage.MyApp></application>

然後在你我的應用公共領域myResult。然後,您可以存儲結果並從該公共字段獲取結果,如((MyApp)getApplication()).myResult

這是因爲MyApp單個對象在您的應用程序運行時一直存在。

如果你想通知您可以使用事件總線如Otto

或者你可以在你的其他活動發送一個廣播,並抓住它由廣播接收器..

+0

我想通知新活動時的一些任務在我的非活性類完成。這將如何幫助解決這個問題? – Panda

+0

如果您想發送通知使用事件總線,如Otto。看到我編輯的答案。或者,也許你可以發送廣播,並通過其他活動中的廣播接收器接收它。 –

0

有一個很多可能的解決方案來做到這一點。讓我添加我的最愛:

  1. 事件公共汽車(廣場的奧托或GreenDroid的一個)。在這種情況下,您需要訂閱您的活動才能獲得結果。
  2. 加載程序 - 原生android解決方案,不需要libs。爲了做到這一點,你需要使用內容提供者,其中包含結果表和結果的異步任務,應該有一個方法將結果插入到數據庫中。
相關問題