第三方 app 安装后,android.intent.action.BOOT_COMPLETED 无法启动应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/engineer_james/article/details/82259184

网上有已经有人解释了原因 参考 https://blog.csdn.net/zhouzhengting1/article/details/50459431

因为我们发送广播

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卡,不关心了

有兴趣跟一下源码,抱歉我没兴趣,反正流程也不难

猜你喜欢

转载自blog.csdn.net/engineer_james/article/details/82259184
今日推荐