【Android】开机自启动Service .
来源:互联网 发布:医学影像专业英语软件 编辑:程序博客网 时间:2024/06/09 17:37
之前我们有篇关于介绍 Android 如何实现开机自启动,不过都写的是关于如何启动 Activity,本篇文章将介绍如何启动 Service。
先附上之前文章的链接,以便参考:【Android】开机自启动。
Service 的启动相比 Acitivty 而言较为繁琐,其实都是通过别的类去调用被启动类,只不过可能 Activity 大家更为熟悉,Service 比较陌生吧。
不了解 Android Service 的童鞋可以先参考下【Android】Service 生命周期 和 【Android】Service学习之本地服务 两篇文章。
下面回到正题,看看 Service 是如何实现自启动的。
和自启动 Activity 一样,我们也先需要静态注册一个广播。
随后,创建一个继承于 BroadcastReveiver 的启动类。
context.startService(new Intent("cn.etzmico.Etzmico_AutoRunService")); // 调用 Service
调用/启动一个 Service 比 启动一个 Activity 要容易的多。intent中的参数是一个“标签”,详情下面的内容会介绍到。
在 Manifest.xml 静态注册。
<receiver android:name="cn.etzmico.autorunservice.BootReceiver" >
<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>
下面就来看 Service 了。
创建一个继承于 Service 的类。为了验证,我们可以在 onCreate() 方法中,打印一句话。
这里简单的说下 Service 的生命周期。
Service 也有生命周期,也有 onCrate() 等……不过 Service 还有 onStart() 和 onBind() 。
onCreate() 和 onStart() 的区别是:
onCreate() 只有在首次调用 Service 时调用。
onStart()每次调用 Service 时均调用,首次调用 Service 时也不例外。
onBind() 在bindService() 时调用(本文不涉及)。
因此我们可以根据自己所需要的,在 onCreate() , onStart() 以及 onBind() 中写入方法。
另外,Service 也是需要声明的。
我们都知道,当新建 Activity 的时候,我们需要在 Manifest.xml 中声明, Service 亦然如此,不过 Service 与之不同的是,每个 Service 都需要添加一个“标签”,这个标签在一个工程中要是唯一的,用于让系统知道我们需要调用的是哪个 Service。
<service android:name="cn.etzmico.autorunservice.Etzmico_AutoRunService" >
<intent-filter >
<action android:name="cn.etzmico.Etzmico_AutoRunService" />
<category android:name="android.intent.category.default" />
</intent-filter>
</service>
intent-filter 的 actiong android:name 中的内容就是“标签”了。如果我们想启动的是这个 Service,那么在广播类中 startService() 方法中 intent 的参数就是这个“标签”;否则启动服务时会提示new Intent找不到"cn.etzmico.Etzmico_AutoRunService"(引号中具体内容视当时情况而定,即 startService() 时 intent 的参数)。
- 【Android】开机自启动Service
- 【Android】开机自启动Service
- 【Android】开机自启动Service .
- Android Service 开机自启动
- 【Android】开机自启动Service
- android开机自启动service
- android开机自启动,service
- android 开机自启动:启动activity、service
- android应用开机自启动&service开机自启动
- Android实现开机自启动Service
- Android实现开机自启动Service
- Android实现开机自启动Service
- Android 实现开机自启动 Service
- Android实现开机自启动Service
- Android实现开机自启动Service
- android 开机自启动一个service
- Android实现开机自启动Service
- Android如何实现开机自启动Service
- 指定eclipse启动使用jdk
- Android 性能优化
- c/c++时间操作相关函数
- Java与C#的比较学习记录(3)
- Struts2初级教程05 配置Action
- 【Android】开机自启动Service .
- InitializeCriticalSectionAndSpinCount
- 常用网站记录
- UINavagationBar设置背景图片,最简单的方法
- 用图示的方式来讲解下PhoneGap
- Qt中设置对话框的属性
- 你必须非常努力,才能看起来毫不费力
- Yuna's confusion
- 我的"私有云"——在Ubuntu 12.04 LTS上部署ownCloud4