Android4.0有時接收不到開機廣播

通過分析測試發現,若是應用程序安裝上始終沒有被打開過,那麼在Android啓動時,該應用沒法接收到開機啓動廣播android.permission.RECEIVE_BOOT_COMPLETED。html

Android 3.1的更新文檔中已經作了說明。android

下面是引自Android官方API說明,地址 http://developer.android.com/about/versions/android-3.1.html#launchcontrols測試

 

官方文檔的部分翻譯理解翻譯

啓動中止程序控制code

從Android 3.1開始,系統的軟件包管理器跟蹤處於中止狀態(stopped state)的應用程序,控制其啓動後臺進程和其餘應用程序提供了一種手段。htm

須要注意的是應用程序的中止狀態(stopped state)和Activity的中止狀態是不同的。該系統能夠分別管理這兩種中止狀態。進程

該平臺定義了兩個新的Intent的Flag,控制發送者指定的Intent是否應該被容許激活中止的應用程序的組件。文檔

當兩個Flag都不設置或都設置的時候,默認操做是FLAG_INCLUDE_STOPPED_PACKAGES。get

請注意,系統會將FLAG_EXCLUDE_STOPPED_PACKAGES添加到全部的廣播Intent中去。它這樣作是爲了防止廣播無心中的或沒必要要地開展組件的stoppped應用程序的後臺服務。後臺服務或應用程序能夠經過向廣播Intent添加FLAG_INCLUDE_STOPPED_PACKAGES標誌來喚醒處於中止狀態(stopped state)的應用程序。it

應用程序處於中止狀態狀況有兩種:一種是他們是第一次安裝,但還沒有啓動 ;另外一種是在管理應用程序中由用戶手動中止。

相關文章
相關標籤/搜索