Android中Service类onStartCommand的返回值问题
2015-11-11 16:22
405 查看
Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStartCommand方法中做一些处理。然后我们注意到这个函数有一个int的返回值,这篇文章就是简单地讲讲int返回值的作用。
从Android官方文档中,我们知道onStartCommand有4种返回值:
START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。随后系统会尝试重新创建service,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand(Intent,int,int)方法。如果在此期间没有任何启动命令被传递到service,那么参数Intent将为null。
START_NOT_STICKY:“非粘性的”。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统不会自动重启该服务。
START_REDELIVER_INTENT:重传Intent。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务,并将Intent的值传入。
START_STICKY_COMPATIBILITY:START_STICKY的兼容版本,但不保证服务被kill后一定能重启。
从Android官方文档中,我们知道onStartCommand有4种返回值:
START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。随后系统会尝试重新创建service,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand(Intent,int,int)方法。如果在此期间没有任何启动命令被传递到service,那么参数Intent将为null。
START_NOT_STICKY:“非粘性的”。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统不会自动重启该服务。
START_REDELIVER_INTENT:重传Intent。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务,并将Intent的值传入。
START_STICKY_COMPATIBILITY:START_STICKY的兼容版本,但不保证服务被kill后一定能重启。
相关文章推荐
- android中控件的使用
- 即时通讯-没有那么可怕
- Android利用Ksoap2调用Webservice时接收参数为空的问题
- Android快速SDK(24)第三方分享UmengShare【肌肉记忆,分钟接入】
- 有关Android的事件分发机制
- android dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent的响应流程
- android 设置progressbar的高度
- 【Android】【转】查看内存
- Android编程之SparseArray<E>
- Android Studio插件开发实战(2)-代码生成类插件开发
- 一分钟让你学会使用Android AsyncTask
- Android系统adb调试命令及常用抓log方法
- Android之修改系统控件的样式
- Android自定义控件--组合控件
- Android快速SDK(23)第三方授权登录库ThirdLogin【肌肉记忆,分钟接入】
- Android开发------TextView
- Android-Universal-Image-Loader 学习笔记(四)图片缓存策略
- 整理牛客网关于android的问题(一)
- Android 对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果
- Android 如何绘制text 为居中显示