В моем приложении я использую службу на основе местоположения в фоновом режиме. Поэтому мне нужно перезапустить мою службу, когда она будет уничтожена.
Но я получил это сообщение в logcat
Ложная смерть для ProcessRecord {320afaf6 20614: com.odoo.crm: my_odoo_gps_service/u0a391}, curProc для 20614: null
Моя служба onTaskRemoved
@Override
public void onTaskRemoved(Intent rootIntent) {
System.out.println("onTaskRemoved called");
Intent restartServiceIntent = new Intent(App.getAppContext(), this.getClass());
restartServiceIntent.setPackage(getPackageName());
PendingIntent restartServicePendingIntent =
PendingIntent.getService(App.getAppContext(), 1, restartServiceIntent,
PendingIntent.FLAG_ONE_SHOT);
AlarmManager alarmService =
(AlarmManager) App.getAppContext().getSystemService(Context.ALARM_SERVICE);
alarmService.set(
AlarmManager.ELAPSED_REALTIME,
SystemClock.elapsedRealtime() + 1000,
restartServicePendingIntent);
}
Мой сервис onDestroy
@Override
public void onDestroy() {
System.out.println("destroy service");
super.onDestroy();
wakeLock.release();
}
Мой сервис onStartCommand
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return Service.START_STICKY;
}
Я не знаю, что такое ошибка. Я искал как в google, так и в stackoverflow. Все они ссылаются на Сервис .START_STICKY. но я уже использовал его.
Такой же перезапуск службы работает в KitKat, но с некоторой задержкой (~ 5 минут).
Любая помощь приветствуется.