2011-02-13 21 views
7

我已經編寫了一個安裝接收器,以確定何時通過Market安裝了應用程序。不過,如果安裝在應用內,我還想將INSTALL_REFERRER廣播傳遞到其他接收方,例如Google Analytics AnalyticsReceiver。重要的是,我不知道是否安裝了其他接收器,因爲我的接收器將被他們的應用程序中的其他開發者使用。攔截INSTALL_REFERRER,然後轉發到Google AnalyticsReceiver

目前,我接收廣播,完成後我打電話:

AnalyticsReceiver receiver = new AnalyticsReceiver();

receiver.onReceive(context, intent);

的問題是AnalyticsReceiver類可能不存在。

那麼如果我不確定應用程序是否使用AnalyticsReceiver,我該如何傳遞廣播?

或者Android本身會確保安裝的每個接收器都獲得廣播嗎?

非常感謝!

+1

經過更多的研究,我相當肯定你不能有多個安裝接收器,所以關於如何「傳遞」安裝廣播的任何提示都會很棒! – user605333 2011-02-13 17:51:23

回答

2

羅馬的答案是不完全正確的。他們不會一步一步地指導,但Google自己建議在需要時使用您自己的廣播接收器。我認爲他們最近添加了這個blurb,但不知道什麼時候。當我回答他所鏈接的問題之一時,我相當積極,它不存在。

From their guide

注:只有一個廣播接收器類可以每 應用程序指定。如果您需要合併兩個或更多來自不同SDK的BroadcastReceivers,則需要創建自己的BroadcastReceiver類,該類將接收所有廣播,併爲每種類型的廣播調用合適的BroadcastReceivers()。

這似乎也回答了您是否可以盲目重播的問題,至少根據谷歌的說法。