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

博客解释了应用因发送广播时 intent 默认添加标识,受权限问题影响,首次安装无法开机自启的原因。还给出三种解决方案,包括将应用 push 到 system/app 目录、手动或由其他应用触发启动一次,以及因手机少用 SD 卡,可不关注 SD 卡应用开机启动广播问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上有已经有人解释了原因 参考 https://blog.youkuaiyun.com/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卡,不关心了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值