Android 9中实现应用开机自启动(前台服务的方式)

这篇博客详细介绍了在Android 9(P)中,由于系统限制和各种问题,如何实现应用开机自启动,特别是通过前台服务的方式。作者逐一分析了遇到的挑战,包括未接收到BOOT_COMPLETED广播、找不到so库、无法启动服务、广播启动Activity错误以及屏幕熄灭状态下无法启动服务等问题,并提供了相应的解决方案和参考资料。

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

Android 9(P)中实现应用开机自启动(前台服务的方式)

》大体思路:
	1.Android 系统开机后会发送一条广播<action android:name="android.intent.action.BOOT_COMPLETED"/>
	2.应用收到广播后,启动相应的应用即可

问题1:开机之后没有收到BOOT_COMPLETED广播

可能情况:
	1.没有添加权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
	2.应用程序安装后,从未启动过,这种情况是接收不到任何广播的。
	3.没有ui的应用必须通过其他应用激活才能启动
解决方案:
	1.添加权限;
	2和3 直接将应用 放到/system/app目录下即可,这种状态下, 应用会被自动安装也会收到广播即使没有启动过
	
另外把app 放到/system/app目录下运行可能会遇到问题,可参考:

问题2:启动APP时直接报错

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/system/app/xxxx.apk”],nativeLibraryDirectories=[/system/lib/xxxx, /system/app/xxxx.apk!/lib/armeabi-v7a, /system/lib, /sy

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值