2012-08-30 16 views
0

我從文檔understoo是發送BroadcastReciver要求即使應用程序還沒有開始

隨着安卓3.1的Android系統將默認排除如果相應 應用從未被開始接受意圖所有 廣播接收器的用戶或用戶 通過Android菜單(在管理 應用程序中)明確停止應用程序。

因此,我想知道如果我的應用程序尚未啓動,我怎麼能發送廣播到接收器。

+4

你根本做不到。用戶必須至少先啓動您的應用一次。這個限制沒有辦法解決。 – 2012-08-30 19:54:15

+1

我想你可以通過[Context#startActivity()]顯式啓動一個尚未激活或禁用的應用程序(http://developer.android.com/reference/android/content/Context.html#startActivity%28android.content .Intent%29)。這需要您控制下的第二個活動應用程序 – zapl

回答

1

因此,我想知道如果我的應用還沒有啓動,我怎麼能發送廣播到接收器。

,我要帶你從字面上看,這意味着要廣播Intent發送給一些BroadcastReceiver你寫。

如果發件人和BroadcastReceiver在同一個應用程序中,沒有問題:如果發件人有能力運行,它能夠發送廣播。這是因爲用戶將不得不做一些事情來運行發件人,比如開始一項活動。

如果發件人和BroadcastReceiver在不同的應用程序,我的理解是,發送者可以包括在IntentFLAG_INCLUDE_STOPPED_PACKAGES,這將確保在其他應用程序的BroadcastReceiver可以接收廣播。

相關問題