我创建了一个自定义后台服务,它正在扩展 IntentService。当我的应用程序通过 .startService() 进入后台时,我正在调用此类。首先 onStartCommand 在我返回 START_STICKY 的地方被调用(就像我已经阅读了一些其他帖子以保持我的服务处于活动状态,并在因内存不足而被杀死时重新创建)。之后,我正在实现 onHandleIntent(intent) 方法,在该方法中我从调用者意图中获取附加信息,并且在这里我启动了一个 Timer 以每分钟运行一次并执行简单的代码。但这里的问题是,当应用程序处于后台时,30 分钟后我的服务被终止并且没有重新创建。这是我的代码的一部分,所以任何建议都是完美的。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
@Override
protected void onHandleIntent(Intent workIntent) {
//here I'm initializing the Timer
}
class UpdateTimeTask2 extends TimerTask {
public void run() {
backgroundTimer();//here I'm doing some simple coding
}
}