怎样让一个Service开机自动启动

如题所述

Android开机启动Service,需要使用BroadcastReceiver,Android系统,开机会发送一个开机广播,可以通过BroadcastReceiver来接收开机广播。
具体代码:
1.在配置文件AndroidManifest.xml中向系统注册receiver
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>

2.需要添加相应权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

3.在Receiver中就可以添加开机需要进行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

}
}

4.执行开机后的操作,Intent intent = new Intent(context,Service.class); context.startService(intent); 这样即可开机启动Service了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-06-27
Android中,当Service被kill后,如果重启需要使用BroadcastReceiver来实现,即广播接收者,例如利用BroadcastReceiver注册网络广播或者开关机广播,当接收到广播后直接启动service,这样就可以保证service被kill后,自动启动。
实现代码:
1.在配置文件AndroidManifest.xml中向系统注册BroadcastReceiver
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>

2.需要添加相应权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

3.在Receiver中就可以添加开机,或者网络状态改变后需要进行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

}
}
4.执行操作,Intent intent = new Intent(context,Service.class); context.startService(intent); 这样即可开机,或者网络状态改变后启动Service了。本回答被网友采纳

如何设置开机启动service
1、找到并打开“我的电脑”,点击“控制面板”;2、点击“管理工具”;3、在需要开机启动服务后选择“自动”;4、开机重启即设置成功。

Linux怎么设置开机某个service是否自动启动
如果需要自启动某些服务,只需使用chkconfig 服务名 on即可,若想关闭,将on改为off 在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项 上面我们先将sshd服务的所有启动级别关闭,然后使用--level选项启动自定义级别 Tips:--list选项可查看指定服务的启动状态,chkconfig不...

如何让软件自动运行?
1、在anywhere数据库的版本中,自动启动数据库可以用安装目录下的工具start_service.exe。2、找到安装目录下的start_service.exe文件,右键点击该文件,然后点创建快捷方式,就产生一个start_service.exe的运行的快捷方式文件 "快捷方式 到 start_service.exe"。注:运行快捷方式跟运行软件的启动文件是一样...

如何设置开机启动service
关闭服务的方法:我的电脑-控制面板-管理工具-服务。设定时右击一个服务,可以选择“自动”,“手动”或者“禁止”。“自动”为随windows一起启动,“手动”为需要时再启动,“禁止”为任何情况都不启动。 如果调整后电脑出了问题,重新开启那个服务就可以了。方法还是右击一个服务,选择为“自动”,然后点击“启动”按钮...

Linux怎么设置开机某个service是否自动启动
具体命令如下 查询系统服务是否开机启动chkconfig --list 服务名#设置某项服务不随开机自动启动chkconfig 服务名 off#设置某项服务随开机自动启动chkconfig 服务名 on当然,不论何种linux的发行版,下面的方法都是可以的 通用的方法就是:在\/etc\/rc.local文件中添加你需要随开机启动的命令行命令即可。

树莓派ubuntu20.04通过service实现py文件开机自启
在单个 .service 文件中执行多个 ExecStart 命令,需将 Type 设置为 oneshot。此类型服务仅在启动后即完成,不保留后台进程。树莓派开机重刷USB口是一个使用 .service 文件实现的例子。此外,了解 systemd-analyze 命令可帮助诊断服务启动问题,该命令能显示服务启动时间和关键链。配置时,通过编辑 systemd...

怎么开发android service 开机启动
第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app。import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class BootBroadcastReceiver extends ...

windows设置开机自启动脚本
1、同时按下Win+R键 2、输入shell:startup并回车 3、打开文件夹后,将需要设置为开机启动的软件快捷方式复制粘贴到启动项文件夹

为什么我的电脑不能自动启动服务项?
解决:将服务项“Service Control Manager”,设置为开机自动启动即可。操作如下:1、首先在电脑桌面按下键盘上的WIN+R键,打开运行窗口,在运行窗口输入“services.msc”,点击确定;2、然后系统服务功能页面就打开了,在服务项中找到“Service Control Manager”;3、由于此电脑未安装相应的软件,所以没有...

怎样让一个程序在Windows启动时自启动
1、首先按组合键win+r打开运行窗口,输入mmc.exe调出控制台,如图所示:2、随后在控制台窗口中点击文件,选择打开,如图所示:3、在打开窗口中,依次点击磁盘c→windows→system32,然后输入文件名gpedit.msc,并执行打开操作,如图所示:4、此时调出本地组策略编辑器,点击用户配置中的管理模板,管理模板...

相似回答