如何减少Android服务重启时间?
我知道如果我在onstart命令中返回如何减少Android服务重启时间?,android,android-service,Android,Android Service,我知道如果我在onstart命令中返回START\u REDELIVER\u INTENT,Android服务将重新启动 我写了一个服务,并希望在用户在最近的列表中关闭应用程序后使其保持活动状态 @Override public int onStartCommand(Intent intent, int flags, int startId) { return START_REDELIVER_INTENT; } 在我的测试之后,如果用户关闭最近列表中的应用程序,我的服务将被终止 @O
START\u REDELIVER\u INTENT
,Android服务将重新启动
我写了一个服务,并希望在用户在最近的列表中关闭应用程序后使其保持活动状态
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_REDELIVER_INTENT;
}
在我的测试之后,如果用户关闭最近列表中的应用程序,我的服务将被终止
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_REDELIVER_INTENT;
}
由于START\u REDELIVER\u意图
,Android将自动重启服务,但时间太长
有些时间服务将在20秒内重新启动,有些时间将在一分钟内重新启动,如何减少此时间?最好在5秒内完成。在您的服务类中使用此代码。当用户清除应用程序时,此重新启动服务。您可以将START\u STICKY返回到onstartCommand方法
@Override
public void onTaskRemoved(Intent rootIntent) {
Intent intent2 = new Intent(this.getApplicationContext(), this.getClass());
intent2.setPackage(this.getPackageName());
PendingIntent pendingIntent = PendingIntent.getService((Context)this.getApplicationContext(), (int)1, (Intent)intent2,0);
((AlarmManager)this.getApplicationContext().getSystemService(ALARM_SERVICE)).set(3, 500 + SystemClock.elapsedRealtime(), pendingIntent);
super.onTaskRemoved(rootIntent);
}
onTaskRemoved()。在您的情况下会发生什么?您是否在所有具有不同API版本的Android
设备上测试过它???我讨论的是一般情况,而不是唯一测试过设备的特殊情况。