Android——Service(服务)

Android四大组件分别为Activity(活动)、Service(服务)、BroadCast Receiver(广播接收者)、Content Provider(内容提供者)

Service(服务)

Service(服务)是运行于后台的组件,没有用户界面,适用于后台下载、音乐播放等场景。
创建完一个Service后会自动在清单文件中添加

<service
	android:name=".MyService2"
	android:enabled="true"
	android:exported="true"></service>

若是手动写一个类继承自Service,则需要手动在清单文件中添加。enabled表示能否实例化该服务,exported表示该服务能否被其他应用调用。

1.生命周期

onCreate()
第一次创建该服务时调用。

onDestory()
被销毁时调用。

onStartCommand()
用户通过startService()方法启动该服务时调用。

onBind()
用户通过bindService()方法启动该服务时调用。

onUnbind()
用户通过UnBindService()方法断开该服务时调用。

2.启动方式

Service启动方式有普通启动startService()和绑定启动bindService()

普通启动

Intent intent = new Intent(this, MyService.class);
startService(intent);//启动服务
stopService(intent);//关闭服务

绑定启动

Intent intent = new Intent(this, MyService.class);
bindService(intent, myConn, flags);//绑定服务
UnBindService(myConn);//解绑服务

其中myConn类继承自ServiceConnection,用于监听连接的两者的状态,若绑定成功,则调用onServiceConnected()方法,若解除绑定则调用onServiceDisconnected()方法。
flags指绑定时是否自动创建Service,若为0,则不自动创建,为“BIND_AUTO_CREATE”则自动创建。

绑定启动和普通启动的区别在于,绑定启动中,应用组件和服务绑定之后,服务的生命周期和组件同步,当组件销毁后,服务也会销毁,普通启动则不会。

你可能感兴趣的:(Android,android)