应用程序开机自启动通常需要接收Intent.ACTION_BOOT_COMPLETED广播,在接收广播之后启动应用程序的主界面以及相关的服务。但是在有些情况下,应用程序接收不到该广播,导致自启动失败,现将常见的原因总结如下:
1、没有在manifest文件中添加广播接收权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2、系统开启fast boot模式,这种模式下系统启动并不会发送BOOT_COMPLETED广播
3、应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT_COMPLETED广播
4、应用程序安装后重来没有启动过,这种情况下应用程序接收不到任何广播,包括BOOT_COMPLETED、ACTION_PACKAGE_ADDED、CONNECTIVITY_ACTION
若发现其他原因,再继续补充!