初识Service:
1、Service是运行在后台,没有用户界面的一种组件。
2、Service有自己的生命周期。
3、需要配置AndroidManifest.xml文件。
4、需要继承Service类,根据不同的启动方式,实现不同的回调方法。
XML配置:
<service android:name=".FirstService">
<intent-filter>
<action android:name="org.service.FIRST_SERVICE">
</intent-filter>
<service>
Service的启动:
startService():启动Service,访问者与Service之间没有关联,即使访问者退出,Service仍然运行。
bindService():启动Service,访问者与Service绑定在一起,访问者一旦退出,Service就终止。
Sevice的生命周期:
1、void onCreate():Service第一次创建时被调用。
2、IBinder onBind(Intent intent):返回的一个IBinder对象,通过该对象与Service组件通信。
3、void onStartCommand(Intent intent, int flags, int startId):早起版本是onStart()方法,每次调用startService(Intent)方法启动Service时会回调该方法。
4、void onDestroy():关闭Service之前回调该方法。
5、boolean onUnbind(Intent intent):当Service上绑定的所有客户端断开连接时回调该方法。
绑定本地Service:
startService与bindService的区别在于,startService启动Service之后,与Service就没有了关联,无法就行数据的传递和交换。但bindService绑定服务之后,Service与访问者之间是要进行方法调用或数据交换。
bindService(Intent intent, ServiceConnection conn, int flags):