Android四大组件之一的Service使用

今天写程序用到了Service,所以来回忆一下Service的使用方式

Service是Android中的四大组件之一,其他三种分别为Activity(活动),BroadcastReceive(广播接受者),ContantProvide(内容提供者)。Service与Activity比较相似.

实现Service需要继承在Android.app包中的Service



想要使用的话,需要在AndroidManifest.xml中进行注册



需要实现一个abstract的方法, onBind();

Android四大组件之一的Service使用_第1张图片

如果不是通过 bindService ()方法启动的Service可以不用理会

Service的生命周期有两种
第一种通过startService来启动的Service
Android四大组件之一的Service使用_第2张图片

这种启动方式Service不会自动销毁,一直运行在后台。
如果想要销毁,可以通过stopService来停止,或者在Service中调用 stopSlef()方法来销毁
第二种通过 bindService ()来启动的Service
Android四大组件之一的Service使用_第3张图片
这种启动方式Service在进行 unbindService ()之后就进行销毁了,

在bindService方法中有三个参数
Intent service, ServiceConnection conn ,int flags
第一个参数:是一个 Intent对象


第二个参数:是一个Service连接参数,可以在 onServiceConnected方法中对IBinder对象进行强制转换,得到当前的Service对象,然后即可操作Service里面的参数,或者方法。Activity即可与Service之间进行交互

Android四大组件之一的Service使用_第4张图片 Android四大组件之一的Service使用_第5张图片
第三个参数:指定绑定时是否自动创建Service(如果Service还未创建)。
该参数可指定0(不自动创建)或BIND_AUTO_CREATE(自动创建)

一个完整的bindSerivce:
Android四大组件之一的Service使用_第6张图片

bindService与之对应的有UnBindService,这个方法作用为:使Service从Activity中进行解绑,如果Service是只通过BindSerivce进行创建的话,当进行UnBindService时,Service会执行onDestry方法进行销毁

你可能感兴趣的:(Android四大组件之一的Service使用)