У меня проблема с использованием сервиса.
Я пытаюсь использовать фоновый сервис с постоянно работающим. Я реализовал с AlarmManager
. Поэтому, когда приложение закрыто, отправьте трансляцию в методе OnDestroy()
службы. И в приемнике тревоги, может начать обслуживание.
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
serviceInstance = this;
callHelper = new CallHelper(this);
callHelper.start();
return START_STICKY;
}
@Override
public void onDestroy() {
Log.d("1111111111", "stop service");
super.onDestroy();
setAlarmTimer();
}
@Override
public void onTaskRemoved(Intent rootIntent) {
Log.d("1111111111", "stop remove");
super.onTaskRemoved(rootIntent);
}
protected void setAlarmTimer() {
final Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
c.add(Calendar.SECOND, 1);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 0,intent,0);
AlarmManager mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), sender);
}
Но если я удаляю (удаляю) приложение из недавнего списка приложений, то OnDestroy () или OnTaskRemoved службы не вызывается. Так что не могу вызвать AlarmManager.
Ниже приводится мой Manifest.xml:
<service
android:name=".service.CallTrackService"
android:enabled="true"
android:exported="true"
android:stopWithTask="false"/>
Как вызвать метод OnDestory()
или OnTaskRemoved()
службы при удалении приложения из недавнего списка приложений?
Если вы знаете эту проблему, пожалуйста, предоставьте решение.