今天写程序用到了Service,所以来回忆一下Service的使用方式
Service是Android中的四大组件之一,其他三种分别为Activity(活动),BroadcastReceive(广播接受者),ContantProvide(内容提供者)。Service与Activity比较相似.
实现Service需要继承在Android.app包中的Service
想要使用的话,需要在AndroidManifest.xml中进行注册
需要实现一个abstract的方法,
onBind();
如果不是通过
bindService
()方法启动的Service可以不用理会
Service的生命周期有两种
第一种通过startService来启动的Service
这种启动方式Service不会自动销毁,一直运行在后台。
如果想要销毁,可以通过stopService来停止,或者在Service中调用
stopSlef()方法来销毁
第二种通过
bindService
()来启动的Service
这种启动方式Service在进行
unbindService
()之后就进行销毁了,
在bindService方法中有三个参数
Intent service, ServiceConnection conn
,int
flags
第一个参数:是一个
Intent对象
第二个参数:是一个Service连接参数,可以在
onServiceConnected方法中对IBinder对象进行强制转换,得到当前的Service对象,然后即可操作Service里面的参数,或者方法。Activity即可与Service之间进行交互
第三个参数:指定绑定时是否自动创建Service(如果Service还未创建)。
该参数可指定0(不自动创建)或BIND_AUTO_CREATE(自动创建)
一个完整的bindSerivce:
bindService与之对应的有UnBindService,这个方法作用为:使Service从Activity中进行解绑,如果Service是只通过BindSerivce进行创建的话,当进行UnBindService时,Service会执行onDestry方法进行销毁