android onStartCommand START_STICKY怎么用
时间: 2023-08-22 17:07:09 浏览: 146
Android通过startService实现文件批量下载
在 Android 中,Service 类是一种常用的组件,它通常用于在后台执行长时间运行的任务,例如音乐播放器、下载器等。在 Service 中,onStartCommand() 方法用于接收来自调用者的请求,例如启动服务。当 Service 被启动时,系统将调用 onStartCommand() 方法并将启动请求作为参数传递给它。
START_STICKY 是 onStartCommand() 方法的返回值之一,它表示如果 Service 在执行过程中由于某些原因被系统杀死,那么系统会尝试重新启动该 Service,并将 Intent 对象作为参数传递给 onStartCommand() 方法。这样就可以保证 Service 在被杀死后可以自动重启并继续执行任务。
下面是一个使用 START_STICKY 的例子:
```java
public class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// 执行长时间运行的任务
return START_STICKY;
}
}
```
在这个例子中,我们在 onStartCommand() 方法中执行了长时间运行的任务,并返回了 START_STICKY,表示如果 Service 被杀死后可以自动重启。如果你想让 Service 在被杀死后不会自动重启,可以返回 START_NOT_STICKY 或 START_REDELIVER_INTENT。
阅读全文