【Android】开机自启动Service
来源:互联网 发布:ubuntu usr扩容 编辑:程序博客网 时间:2024/06/02 08:39
http://blog.csdn.net/etzmico/article/details/7317695
之前我们有篇关于介绍 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
在 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
- 利用onSaveInstanceState()方法保存Activity状态
- python文件头--文件编码指定
- android 【九种对话框】的实现方式
- Action Script 3.0 的优化(下)
- win32 GDI 学习
- 【Android】开机自启动Service
- 强行远程命令
- mongodb shard key的选择
- linux下的动态链接库
- tomcat:tomcat的OutOfMemoryError解决
- 博弈-sg函数的原理和优化(hdu-1536)
- 我的模板
- Win32 关键点总结
- MPEG-2压缩原理简介