android之手机开机启动Service服务
2015-03-08 18:07
471 查看
之前,介绍了四大组件的BroadCastReceiver和Service,这次我们利用广播来启动Service服务. 这种实现在很多APP都有出现,比如很多应用安装后,只要使用过一次,后面重启手机它可能就会推送一些消息给用户的手机,在顶栏显示某个应用又有什么消息之类的.这只是Service的行为, 只要成功启动了Service服务,还可以根据需要自定义其他的行为.
关于BroadCastReceiver,这里根据之前的介绍补充一点,就是静态配置和动态配置的不同:
在AndroidManifest.xml里面配置是静态配置,在代码里配置则是动态配置.动态配置比静态配置要快.而静态配置的优点是即使应用没有启动, 也能接收到特定的广播.从而在特定的广播***去自定义一些行为.我们应该根据需要去选择不同的实现.
开机启动Service的原理:
手机成功启动后会发出一个ACTION_BOOT_COMPLETED的广播,在应用的AndroidManifest.xml的广播配置里面配置接收这条广播的广播***,然后再***中启动指定的Service服务.
首先给AndroidManifest.xml加上可以拦截这个广播的权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
配置广播***
在自定义MyReceiver的onReceive()中去启动指定的Service:
这样就完成了开机启动Service服务,至于要在Service里面去做什么就根据需要去自定义吧. 值得注意是,在3.0以上的系统,该应用必须至少被启动过一次,后面才能成功捕获ACTION_BOOT_COMPLETED广播.
关于BroadCastReceiver,这里根据之前的介绍补充一点,就是静态配置和动态配置的不同:
在AndroidManifest.xml里面配置是静态配置,在代码里配置则是动态配置.动态配置比静态配置要快.而静态配置的优点是即使应用没有启动, 也能接收到特定的广播.从而在特定的广播***去自定义一些行为.我们应该根据需要去选择不同的实现.
开机启动Service的原理:
手机成功启动后会发出一个ACTION_BOOT_COMPLETED的广播,在应用的AndroidManifest.xml的广播配置里面配置接收这条广播的广播***,然后再***中启动指定的Service服务.
首先给AndroidManifest.xml加上可以拦截这个广播的权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
配置广播***
<!-- 配置广播*** --> <receiver android:name="com.test.myapp.MyReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"></action> </intent-filter> </receiver>
在自定义MyReceiver的onReceive()中去启动指定的Service:
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //在这里启动MyService Intent intent = new Intent(); intent.setAction("com.test.myapp.MyService"); context.startService(intent); } }
这样就完成了开机启动Service服务,至于要在Service里面去做什么就根据需要去自定义吧. 值得注意是,在3.0以上的系统,该应用必须至少被启动过一次,后面才能成功捕获ACTION_BOOT_COMPLETED广播.
相关文章推荐
- android用服务service与广播broadcastreceiver创建开机启动服务
- android 开机启动服务service的开发
- Android中实现开机自动启动服务(service)实例
- Android中实现开机自动启动服务(service)实例
- android开发教程之开机启动服务service示例
- Android Service 手机启动服务 监听电话的状态 进行录音
- Android中实现开机自动启动服务(service)实例
- Android学习篇章35-Service基础-广播开机启动服务
- Android Service---创建一个被启动类型的服务
- Android系统在新进程中启动自定义服务过程(startService)的原理分析
- Android系统在新进程中启动自定义服务过程(startService)的原理分析 (下)
- Android Service---启动服务
- 原创:Android怎么让一个service开机自动启动
- android上怎样让一个Service开机自动启动
- Android系统在新进程中启动自定义服务过程(startService)的原理分析
- Android开机启动Service
- Android 如何使一个service 开机启动
- Android系统在新进程中启动自定义服务过程(startService)的原理分析
- Android开机启动Service
- android 使用BroadcastReceiver实现开机启动Service或Activity