2010-08-18 73 views
0

我有2個需要彼此溝通的活動:ActivityAActivityBAndroid:如何使用inner BroadCastReceiver單播一個Activity的意圖?

說出ActivityA打開ActivityB。如何在不關閉ActivityB的情況下單播從ActivityBActivityA的消息?

這裏是我的嘗試:

  1. 的setResult() - 但目的會時ActivityB 關閉

  2. sendBroadcast() 僅投放 - 但這發送 意圖每個人都在聽取 的操作。我只希望 的行動達到ActivityA,因爲它產生了 ActivityB。我試着讓ActivityA 註冊一個廣播接收器, ,但我不能通過 意圖的目標SetComponentName()

  3. startActivity() - 這帶來了 ActivityA,我不想

回答

1

我有2個活動需要互相溝通:ActivityA和ActivityB

認爲他們需要相互溝通。我認爲,除了startActivityForResult()/setResult()模式,ActivityB不應該與ActivityA通信。相反,他們應該通過代表你的模型的其他東西(例如,服務)來工作。

如何在沒有關閉ActivityB的情況下從ActivityB向ActivityA單播消息?

使用您的選項#2和setPackage()限制交付。

相關問題