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”则自动创建。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值