Service的使用
2015-07-15 16:38 himanxu 阅读(145) 评论(0) 编辑 收藏 举报Service的使用
使用Service服务需要在Manifest.xml文件中声明
<service android:name = "com.himanmin.xu.servicedemo.TimeService">
<intent-filter>
<action android:name="action"/>
</intent-filter>
</service>
在启用service时,根据Service是否需要需要与其他进程进行数据交互,启用方式不同。前者只需service在后台运行,后者可能需要得到service的数据反馈。
无数据交互的service,可以通过startService(intent)和stopService(intent)启动和关闭,而intent则通过
intent.setAction("action"),action需与Manifest.xml文件中的声明一致。
这种情况下service的生命周期为:
onCreate()->onStartCommand()->onDestroy()
需要数据交互的service,需要将service与反馈对象进行绑定。常见的,主进程开启一个service服务,然后将结果返回到主进程所在的Activity中。绑定和解除绑定分别使用bindService()和unBindService(),其中bindService()会绑定service或启动相应的service并绑定,目标service通过设置intent确定。在service类中,复写onBind()方法,并返回自定义的IBinder实例,该实例一般含有返回service实例的方法。在主进程的activity中,则需要创建ServiceConnection对象,获取返回的IBinder实例,并进而获取service,进行service自定义功能的数据操作。
这个过程的生命周期
onCerate()未创建->onBind()->onUnBind()->onDestroy()