Android怎么让一个service开机自动启动
16lz
2021-01-23
- 今天我们主要来探讨android怎么让一个service开机自动启动功能的实现。Android手机在启动的过程中会触发一个StandardBroadcastAction,名字叫android.intent.action.BOOT_COMPLETED(记得只会触发一次呀),在这里我们可以通过构建一个广播接收者来接收这个这个action.下面我就来简单写以下实现的步骤:
- 1、首先创建一个广播接收者,重构其抽象方法onReceive(Contextcontext,Intentintent),在其中启动你想要启动的Service。importandroid.content.BroadcastReceiver;
- importandroid.content.Context;
- importandroid.content.Intent;
- importandroid.util.Log;
- publicclassBootBroadcastReceiverextendsBroadcastReceiver{
- //重写onReceive方法
- @Override
- publicvoidonReceive(Contextcontext,Intentintent){
- //后边的XXX.class就是要启动的服务
- Intentservice=newIntent(context,XXXclass);
- context.startService(service);
- Log.v("TAG","开机自动服务自动启动.....");
- }
- }
- 配置xml文件,在receiver接收这种添加intent-filter配置
- <receiverandroid:name="BootBroadcastReceiver">
- <intent-filter>
- <actionandroid:name="android.intent.action.BOOT_COMPLETED"></action>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </receiver>
- 添加权限处理
- <!--此权限在高版本中可以省略,你可以测试-->
- <uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
- 创建你需要启动的service处理(的XXX)类,并在androidMainfest.xml文件中添加(XXX)service的配置即可。
- 以上内容归redarmychen原创,如需转载请附带出处!
更多相关文章
- Android中应用程序获得系统签名权限
- Android编译过程总结及android中各种img文件的作用以及系统启动
- AndroidManifest.xml文件详解(manifest)
- Android 使用系统限制的权限的apk应安装到 /system/app 目录下