Android:Context.startService/Context.bindService的区别
2013-01-09 22:32
549 查看
Context.startService | Context.bindService | |
---|---|---|
基本功能 | 启动一个Service,如果该Service没有启动则启动一个Service(必要时创建进程),如果已经存在,则不做任何事情。一旦创建以后,不管调用者是否被销毁,该service仍然存在。一般用于不需要像调用者返回结果的情况,如下载文件以后自行停止自己。 | 通过bindService启动的Service,和调用者之间类似C/S的关系,调用者为client,该Service为Server,可以进行必要的通信。同时可以有多个client bindService到该service。 |
停止Service | 由调用者显示stopService或由自己stopSelf来停止 | 当所有bind到这个service的进程退出后,自动停止Service |
回调API | onStartCommand() | onBind() |
调用 | Intent intent = new Intent(this,HelloService.class); startService(intent); | Intent intent = new Intent(this, LocalService.class); bindService(intent, mConnection, Context.BIND_AUTO_CREATE); |
BroadcastReceiver | 可以调用startService | 一般不能直接调用bindService,但是通过registerReceiver(BroadcastReceiver, IntentFilter)注册的Receiver则可以(上下文变化了)。 |
Service定义方式 | 实现onStartCommand() | 必须实现ServiceConnection conn来进行通信 |
参考 | Service | Bound Services |
相关文章推荐
- Android学习札记三:初涉Service(1)之Context.startService()与Context.bindService()区别
- Android学习札记三:初涉Service(1)之Context.startService()与Context.bindService()区别(转)
- Android startservice & bindservice的区别
- Android中 startService()和bindService()的区别
- android之startService和bindService方法的区别
- Android之startService()和bindService()区别
- Android 启动 Service(startservice和bindservice) 两种方式的区别
- 【Android四大组件之Service】(二)Android中Service的使用详解和注意点(LocalService),及startService与bindService的区别
- Android之startService与bindService的区别
- Android入门-Service-start,end,bind,unbind之间的区别
- android startService 与bindService的区别
- [AndroidTips]startService与bindService的区别
- [AndroidTips]startService与bindService的区别
- 初涉Service(1)之Context.startService()与Context.bindService()区别
- android之service的startService和bindService的区别
- 【Android四大组件之Service】(三)Service中startService与bindService的区别
- Android 5.0源码分析---startService与bindService的区别
- android service startService与bindService的区别
- Android开发技术:startService与bindService的区别
- android四大组件之一Service的startService()与bindService()区别?