@Overridepublic int onStartCommand(Intent intent, int flags, int startId) { System.out.println("---------->>onStartCommand2");return super.onStartCommand(intent, flags, startId);}

Android中Service类onStartCommand的返回值问题

转载 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后一定能重启。 当程序在运行时被杀死,当重新启动这个服务的时候,最有的一个Intent将会被传递过的。

更多相关文章

  1. Android(安卓)Phone进程启动过程
  2. Android禁止下拉状态栏
  3. Android(安卓)9.0 P 状态栏下移的实现
  4. Android(安卓)Log
  5. 状态开关按钮ToggleButton
  6. android tabhost
  7. Android官方架构组件:Lifecycle
  8. android手势滑动——左右滑动效果实现
  9. 在服务器上使用 gradle 打包 android 源码

随机推荐

  1. Using cygwin with the Android(安卓)NDK
  2. andorid webview
  3. Android(安卓)APK反编译详解(附图)
  4. Android拍照
  5. Android两种计步器sensor
  6. Android点击通知栏返回正在运行的Activit
  7. Android与(Servlet)服务器交互
  8. Android(安卓)实现Activity后台运行
  9. Android(安卓)同个TextView设置字体大小
  10. Android(安卓)HTTP GET/POST