深入浅出 Android核心组件Service(3)
2013-09-09 21:03
239 查看
本文51CTO专栏作者傻蛋将向我们介绍深入浅出 Android核心组件Service第三部分的系列文章。当我们继想绑定一个Service又想在 Activity停止时,Service不会停止,我们可以先StartService,然后再BindService()。
AD: 2013云计算架构师峰会超低价抢票中
前两节中可以看到Activity和Service,context.startService对应着Service中的onStart()方法,context.onBindService对应的是Service中的onBind()方法。当我们继想绑定一个Service又想在 Activity停止时,Service不会停止,我们可以先StartService,然后再BindService()。这时候的流程图如下所示:
点击查看大图
此时需要注意一个问题,当Activity退出的时候,Sercvice并不会停止,此时我们可以再进入Activity重新绑定,当这时候 Service就会调用onRebind()方法,但是调用onRebind()方法的前提是先前的onUnbind()方法执行成功,但是使用 super.onUnbind(intent)是执行不成功的,这时候我们要手动的使其返回true,再次绑定时Rebind()就会执行。否则,如果退出时不显示的指定onUnbind()为成功的话(为false),那么重新启动此Activity来绑定服务时,Service的onBind()方法和onReBind都不会执行,但是ServiceConnection方法确一定会回调了。这说明在Service中的onBind()方法不同于 onStart()方法不能被重复调用。
本节代码和上节代码大致相同,只不过是在bind之前先start service ,大家可以在DDMS中看onUnbind() onRebind()的调用情况。本节代码在此下载:http://down.51cto.com/data/326376
AD: 2013云计算架构师峰会超低价抢票中
前两节中可以看到Activity和Service,context.startService对应着Service中的onStart()方法,context.onBindService对应的是Service中的onBind()方法。当我们继想绑定一个Service又想在 Activity停止时,Service不会停止,我们可以先StartService,然后再BindService()。这时候的流程图如下所示:
点击查看大图
此时需要注意一个问题,当Activity退出的时候,Sercvice并不会停止,此时我们可以再进入Activity重新绑定,当这时候 Service就会调用onRebind()方法,但是调用onRebind()方法的前提是先前的onUnbind()方法执行成功,但是使用 super.onUnbind(intent)是执行不成功的,这时候我们要手动的使其返回true,再次绑定时Rebind()就会执行。否则,如果退出时不显示的指定onUnbind()为成功的话(为false),那么重新启动此Activity来绑定服务时,Service的onBind()方法和onReBind都不会执行,但是ServiceConnection方法确一定会回调了。这说明在Service中的onBind()方法不同于 onStart()方法不能被重复调用。
本节代码和上节代码大致相同,只不过是在bind之前先start service ,大家可以在DDMS中看onUnbind() onRebind()的调用情况。本节代码在此下载:http://down.51cto.com/data/326376
相关文章推荐
- 深入浅出 Android核心组件Service(5)
- 深入浅出 Android核心组件Service(4)
- 深入浅出 Android核心组件Service(1)
- 深入浅出 Android核心组件Service(2)
- 深入浅出 Android核心组件Service(4)
- Android核心组件之Service
- Android四大核心组件之Service
- android 应用五大核心组件之一(service)
- Android四大核心组件之Service
- Android核心组件之Service
- Android核心技术之(7)---四大应用组件之Service
- 【Android基础】(2)四大核心组件之Service
- Android 四大核心组件之Service
- 10天学通Android开发(2-2)-核心组件Service创建
- Android四大核心组件之一-----Service(服务)的基本知识
- Android核心基础-11.Android四大组件之Service
- Android四大核心组件之Service:服务
- 10天学通Android开发(2-3)-核心组件Service绑定
- Android 四大组件之 Service (二)
- Android笔记二十七.Service组件入门(一).什么是Service?