android上怎样让一个Service开机自动启动
1.首先开机启动后系统会发出一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED,这个Action只会发出一次。
2.构造一个IntentReceiver类,重构其抽象方法onReceiveIntent(Context context, Intent intent),在其中启动你想要启动的Service。
3.在AndroidManifest.xml中,首先加入<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>来获得BOOT_COMPLETED的使用许可,然后注册前面重构的IntentReceiver类,在其<intent-filter>中加入<action android:name="android.intent.action.BOOT_COMPLETED" /> ,以使其能捕捉到这个Action。
一个例子
xml:
- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
- <receiver android:name=".OlympicsReceiver" android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.BOOT_COMPLETED" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<receiver android:name=".OlympicsReceiver" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
java:
- public class OlympicsReceiver extends IntentReceiver
- {
- /*要接收的intent源*/
- static final String ACTION = "android.intent.action.BOOT_COMPLETED";
- public void onReceiveIntent(Context context, Intent intent)
- {
- if (intent.getAction().equals(ACTION))
- {
- context.startService(new Intent(context,
- OlympicsService.class), null);//启动倒计时服务
- Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG).show();
- }
- }
- }
public class OlympicsReceiver extends IntentReceiver
{
/*要接收的intent源*/
static final String ACTION = "android.intent.action.BOOT_COMPLETED";
public void onReceiveIntent(Context context, Intent intent)
{
if (intent.getAction().equals(ACTION))
{
context.startService(new Intent(context,
OlympicsService.class), null);//启动倒计时服务
Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG).show();
}
}
}
注意:现在的IntentReceiver已经变为BroadcastReceiver,OnReceiveIntent为onReceive。所以java这边的代码为:
- public class OlympicsReceiver extends BroadcastReceiver
- {
- /*要接收的intent源*/
- static final String ACTION = "android.intent.action.BOOT_COMPLETED";
- public void onReceive(Context context, Intent intent)
- {
- if (intent.getAction().equals(ACTION))
- {
- context.startService(new Intent(context,
- OlympicsService.class), null);//启动倒计时服务
- Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG).show();
- //这边可以添加开机自动启动的应用程序代码
- }
- }
- }
android上怎样让一个Service开机自动启动相关推荐
- Android开发之使用BroadcastReceiver实现开机自动启动(源代码分享)
上一节已经介绍过BroadcastReceiver实现实时监听电量的功能,这节就来介绍一下如果实现开机自动启动的功能,这个比监听电量还简单不少 (1)在清单文件注册权限 <uses-permis ...
- linux java services_在 Linux 上创建第一个 Service Fabric Java 应用程序
先决条件 开始之前,请安装 Service Fabric SDK.Azure CLI,并在 Linux 开发环境中设置开发群集. 如果使用 Mac OS X,则可使用 Vagrant 在虚拟机中设置 ...
- android启用其他应用程序,杀死Android上的另一个应用程序?
我试图杀死我的另一个应用程序.但是这段代码无法杀死我的另一个应用程序.我知道杀死另一个应用程序是一个坏主意.但是我有一个学习的目的,并且我试图杀死人.我的代码部分: Button runningApp ...
- linux下开机自动启动,定时运行shell脚本
Shell 脚本与window/dos 下的批处理相似,也就是用各类命令预先放入一个文件中,方便一次性执行的的一个程序文件,主要是方便管理员进行设置或者管理用. 一.shell脚本 在Linux下,我 ...
- android开机自动启动app,Android实现开机自动启动Service或app的方法
本文实例讲述了Android实现开机自动启动Service或app的方法.分享给大家供大家参考,具体如下: 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context cont ...
- Android 开机自动启动服务
在前面的文章中提到了remote service 的创建过程,现在我们要让它开机自动启动 1.在前面代码的基础上添加 RemoteServiceBootReceiver.java ,实现一个inten ...
- Android仿比心1对1直播源码开发,开机自动启动的实现
在开发仿比心1对1直播源码过程中,常会要求仿比心1对1直播源码在系统开机时可以自动启动.这里,我将实现方法和遇到的一些问题总结于下文. 一. 实现 继承一个BroadcastReceiver用来处理B ...
- MTK(android init.rc) 写一个开机启动的服务
在开机往往我们想要做一些初始化的操作,这时候可以使用init.rc文件来实现,当然书写一个开机启动的服务也需要规范的. 假设是C程序,则需要准备C程序的源码,在我的例程中是一个在开机完成(androi ...
- android设置自动开关机,Android开发之设置开机自动启动的几种方法
Android开发之设置开机自动启动的几种方法 方法一: android:name=".AutoStartReceiver"为处理开机启动后所做操作的AutoStartReceiv ...
最新文章
- 157. Leetcode 674. 最长连续递增序列 (贪心算法-进阶题目)
- HTTPGet 与HTTPPost的区别
- 关于eclipse不编译项目的问题解决
- 好代码是管出来的——使用GitHub
- matlab绘制二元一次函数图像_【八上数学】 一次函数必考知识点(下)
- linux单网卡多拨Adsl,ROS单线多拨pppoe
- Spring Boot Redis
- 信息学奥赛一本通(1075:药房管理)
- 六步搞定RHEL5下的mysql镜像数据库配置
- Runtime之消息转发
- SpringBoot日志的相关知识
- java全局校验拦截器
- ida 安装findcrypto插件
- JAVA项目接入腾讯应用宝YSDK平台之QQ微信登录接入模式详解
- 文本预处理库spaCy的基本使用(快速入门)
- Prompt是什么意思?
- hdu5761 Rower Bo(物理题or瞎猜)
- 软考高项 - 计算公式汇总整理
- 【Python爬虫系列教程 41-100】猫眼电影字体加密破解
- linux安装VNC远程桌面环境
热门文章
- ADI Blackfin DSP处理器-BF533的开发详解18:用触摸屏的例程来理解中断(含源码)
- 你的英语目前处在什么样的水平?
- C#控件splitContainer用法
- python123练习题文库_python模拟登录百度文库后如何点击马上签到
- codeblock报错解决及正确安装
- PPG创业元老:美国战略只是烟雾弹 VC有苦难言
- 计算机键盘按键更改,键盘的按键如何更改
- 计算机考试题目学生成绩表,计算机等级考试EXCEL练习题-12学生成绩表2
- 数学分析 - 多元函数的极限和连续
- java网店系统_关于java网店系统的404页面 你知道多少