Android: какую комбинацию Broadcast/Receiver следует использовать?

В моем приложении я хочу запускать таймер, который запускает действие каждые x минут, независимо от того, находится ли пользователь в данный момент в приложении или нет. Я читал и не уверен, какую комбинацию типов вещания и приемника мне следует использовать - любое руководство было бы полезно.

Пример действий пользователя:

  1. Пользователь нажимает кнопку, устанавливает начальный таймер (будильник)
  2. Достигнут таймер, запустить действие и снова установить таймер
  3. Повторяйте, пока он не будет работать в течение x минут



Ответы (2)


  1. когда пользователь нажимает кнопку, установите будильник как

    AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    am.setRepeating (AlarmManager.Type, 
             long triggeringtime, 
             long interval, 
             PendingIntent operation);
    

здесь время срабатывания - это время, необходимое для выполнения действия

и интервал, сколько времени потребуется, чтобы сделать то же самое.

здесь операция - это намерение, которое вам нужно выполнить, как это может быть действие или услуга, которую вы можете определить как

    operation = PendingIntent.getActivity( context, 0, intent or service, 0);

Шаги 2 и 3 будут выполняться непрерывно, что и делает менеджер аварийных сигналов.

Этот аварийный сигнал продолжает повторяться до тех пор, пока не будет явно удален с помощью

  cancel(AlarmManager.OnAlarmListener). 

Я новичок Сорри если ошибаюсь. Надеюсь, поможет!

person Mr.Popular    schedule 05.12.2016

Android JobScheduler

Вы можете найти много учебников в Интернете.

person user6327816    schedule 05.12.2016
comment
этот необходимый рычаг API › 21. для других вы можете иметь alarmManager. - person user6327816; 05.12.2016
comment
Интересно! Не знал об этом - буду разбираться, спасибо! - person naspinski; 05.12.2016