Android——Service(服务)
16lz
2021-01-23
Android四大组件分别为Activity(活动)、Service(服务)、BroadCast Receiver(广播接收者)、Content Provider(内容提供者)
Service(服务)
Service(服务)是运行于后台的组件,没有用户界面,适用于后台下载、音乐播放等场景。
创建完一个Service后会自动在清单文件中添加
<serviceandroid: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 SwipeRefreshLayout 下拉刷新组件的使用
- Android桌面组件widget与快捷方式shortcut
- android 基础知识 四大组件之Activity(一)
- Android 桌面组件【widget】 初学
- android:四大组件
- 【 Android 10 四大组件 】系列 -- Activity 的 "启动流程"
- Android学习笔记九:基本视图组件:Spinner
- Android系列教程之九:GridView组件的使用
- 关于Android Studio中第三方jar包的Javadoc绑定