1. 程式人生 > >第三方 app 安裝後,android.intent.action.BOOT_COMPLETED 無法啟動應用

第三方 app 安裝後,android.intent.action.BOOT_COMPLETED 無法啟動應用

因為我們傳送廣播

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

但是intent 預設會新增 FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_EXCLUDE_STOPPED_PACKAGES ,來標識一個intent是否啟用處於“stoppedstate”的應用。

這就造成因為許可權問題,當第一次安裝的時候,不會開機自啟動

三種原因,以及解決方案
1. 把應用push 到 system/app目錄,前提是能夠adb root;adb remount
2. 安裝後 讓應用手動點選一次,或者通過其他應用觸發一次啟動,以後就可以開機自啟動
3. sd卡中應用不會收到開機啟動廣播,因為現在手機很少有sd卡,不關心了

有興趣跟一下原始碼,抱歉我沒興趣,反正流程也不難