Android中Service类onStartCommand
2015-07-31 07:54
507 查看
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环境搭建GOOD
- android 更改popupwindow 的键盘弹出类型
- Android中实现可滑动的Tab的3种方式
- Multiple dex files define Lcom/ta/utdid2/android/utils/UTDID
- 利用ViewPager实现可左右滑动的Action Tab
- Android Fragment 真正的完全解析(下)
- Android Fragment 真正的完全解析(上)
- Android 基本知识
- Android ImageView的scaleType属性与adjustViewBounds属性
- Android开发基础之AlertDialog的列表对话框的使用
- 使用ListView的Fragment
- BDLocationListener doesn't work
- android使用SoundPool 播放短音效
- 使用单例类进行背景音乐播放
- android service 之 Binder
- android service 之startService(...)
- 强大的安卓手机远程管理工具——Droidjack
- Context的应用场景
- Android中自定义样式与View的构造函数中的第三个参数defStyle的意义