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