android services启动方式 官方文档翻译
2016-07-03 22:39
316 查看
services作为android应用的组件,主要充当长期在后台运行而不需要提供用户界面的角色,另一个android组件可以启动一个service,这个services将会继续在后台运行即使用户切换到另一个应用。此外,android 组件可以绑定services以及和services交互,甚至执行进程间通信。例如,services可以在后台处理网络通信,播放音乐,或者和content provider交互。
services的启动有两种方式:
1.Started:
android 组件(例如 Activity)通过
2.Bound:
android 组件绑定services 通过
第一种方式需要实现
不管你使用的是哪种方式,任何android组件可以调用service(甚至是别的项目的service),同样任何组件可以调用activity--通过intent。然后你可以在清单文件声明service为私有的,禁止别的项目调用。
创建service类你需要继承Service,然后实现下面几个重要的回调方法:
1.
,你不需要实现该方法。
services的启动有两种方式:
1.Started:
android 组件(例如 Activity)通过
startService()启动services,一旦通过这种方式启动,services可以在后台无限期运行,即使启动该services的组件被销毁。通常service执行不返回结果或者回调的单一操作,例如从网络上传或者下载文件,当操作完成,应该销毁services。
2.Bound:
android 组件绑定services 通过
bindService()启动services,被绑定的services提供客户-服务接口以便让另外的组件与其交互,发送请求,返回结果甚至进行进程间通信。只要有其他的组件绑定services,该service会一直运行下去,多个android组件可以同时绑定一个services,当所有这些组件与services解除绑定,该services会销毁。
第一种方式需要实现
onStartCommand()方法,第二种方式需要实现
onBind()。
不管你使用的是哪种方式,任何android组件可以调用service(甚至是别的项目的service),同样任何组件可以调用activity--通过intent。然后你可以在清单文件声明service为私有的,禁止别的项目调用。
创建service类你需要继承Service,然后实现下面几个重要的回调方法:
1.
onStartCommand(),当另一个组件以start方式启动service,系统将会回调该方法,一旦该方法执行,service启动并在后台运行,当工作完成你需要手动地通过
stopSelf()或者
stopService()方法停止,如果你只想提供绑定
,你不需要实现该方法。
相关文章推荐
- 跟我学Android之七 资源文件
- Android学习第一篇——Activity的启动模式
- 跟我学Android之七 资源文件
- 跟我学Android之七 资源文件
- Android Studio Gradle Configuration Errors总结
- android 视频录制 混淆打包 之native层 异常的解决
- android 视频录制 混淆打包 之native层 异常的解决
- Android跨进程通信
- Android横竖屏切换小结
- [转]Android的23种设计模式
- 自定义高德地图导航界面
- Android多线程断点续传下载
- Android 笔记整理
- Android初级教程XUtils实现“断点续传”下载
- Android初级教程XUtils实现“断点续传”下载
- Android学习笔记01——了解Android(系统框架、应用框架)
- Qt for Android 应用设置为中文名
- Android如何使用API
- android的生命周期
- Android四大组件之Service进阶