Android Service的两种启动方式
来源:互联网 发布:linux编译c程序 编辑:程序博客网 时间:2024/05/08 20:54
Service是Android的四大组件之一,主要运行于系统后台。它有两种启动方式:Context.startService()和Context.bindService()都可以启动Service。
1、调用Context.startService()启动
这种启动方式的生命周期是:启动时,startService()---->onCreate()---->onStart();停止时,stopService()---->onDestroy();如果调用者直接退出而没有停止Service,Service会在后台一直运行。调用startService()前,如果被调用的Service未被创建,则会先调用onCreate(),如果Service已经被创建,则不会调用onCreate(),而会直接调用onStart()。所以多次调用startService()并不会多次创建Service,但会多次调用onStart()方法。而且用startService()启动的Service,必须用stopService结束,服务结束时会调用onDestroy()。
2、调用Context.bindService()启动
这种启动方式的生命周期是:启动时,bindService()---->onCreate()---->onBind();调用者退出时,unbindService()---->onUnbind()---->onDestroy();bindService(intent,conn,Service.BIND_AUTO_CREATE):
第一个参数是Intent对象;
第二个参数是ServiceConnection对象,创建这个对象是为了实现下面两个方法:
public void onServiceConnected(ComponentName className, IBinder service) { // } public void onServiceDisconnected(ComponentName className) { // }实现这两个方法是为了判断服务的连接成功和断开连接。
第三个参数是创建服务的方式,一般为Service.BIND_AUTO_CREATE,绑定服务的时候自动创建。
- Android Service的两种启动方式
- Android Service的两种启动方式
- Android Service的两种启动方式
- android service的两种启动方式
- 【Android】- Android Service的两种启动方式
- Android Service 两种启动方式的区别
- Android Service 两种启动方式的区别
- Android Service的两种启动方式,你知道吗?
- android面试常用 service的两种启动方式
- android 启动service的两种方式有什么不同
- Android启动Service的两种方式之startService()
- Android启动Service的两种方式之bindService()
- Android Service 两种启动方式的区别
- Android Service 两种启动方式的区别
- Android的Service了解和两种启动方式
- Android Service的两种启动方式以及生命周期
- Android Service 两种启动方式的区别
- Android Service两种启动方式的区别
- linux wget下载进度条变成多行显示的解决方法
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
- 第11周项目1函数版星号图(1填充程序输出星号图)
- 完整的C++实现算法导论十三章红黑树以及十四章中的顺序统计树
- 啊俄国人热如果电饭锅发到发到的
- Android Service的两种启动方式
- 第十一周项目一:函数版星号图
- 5分钟为你的APP加入聊天功能【程序猿的福利】
- 第十一周 项目一 函数版星号图
- Windows 8.1新型启动方式“WIMBoot”基础简介以及初步探索
- 第十一周项目一函数版星号图
- 第11周项目1(1)-函数版星号图
- 如何搜集你想要的信息
- 第11周项目1 函数版星号图1