Аналог InsentService с AlarmManager

В одной книге по программированию на андроид встретился такой код:

public class PollService extends IntentService {

    ...

    private static final long POLL_INTERVAL_MS = TimeUnit.MINUTES.toMillis(1);

    public static void setServiceAlarm(Context context, boolean isOn) {
        Intent i = PollService.newIntent(context);
        PendingIntent pi = PendingIntent.getService(context, 0, i, 0);
        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        if (isOn)
            alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), POLL_INTERVAL_MS, pi);
        else {
            alarmManager.cancel(pi);
            pi.cancel();
        }
    }
}

Проблема в том, что IntentService @Deprecated, поэтому я хочу найти способ его не использовать. Как альтернативу ему предлагают JobIntentService, однако в нём нужная работа запускается нетривиальным образом. Как запустить эту работу с помощью PendingIntent, я не знаю.


Ответы (0 шт):