AlarmManager timer - PullRequest
       1

AlarmManager timer

1 голос
/ 26 декабря 2011

При использовании AlarmManager я установил много таймеров, каждый таймер для разных приемников вещания, а они будут автоматически сливаться или нет?

    Intent intent = new Intent(TimeModeService.this,TimeModeReceiver.class);
    intent.setAction("startTimeMode");
    PendingIntent startIntent = PendingIntent.getBroadcast(getApplicationContext(),1000, intent,0);
    can.set(Calendar.HOUR_OF_DAY, startHour);
    can.set(Calendar.MINUTE,startMin);
    alarmmanager.setRepeating(AlarmManager.RTC_WAKEUP, can.getTimeInMillis(), (24 * 60 * 60 * 1000), startIntent);

1 Ответ

1 голос
/ 26 декабря 2011

В, PendingIntent.getBroadcast(getApplicationContext(),1000 /*this is requestCode*/, intent,0); Если вы сохраняете requestCode одинаковым для разных экземпляров PendingIntent, а затем устанавливаете сигнализацию, используя их, они должны объединиться в Android 2.3.3, если я оставлю его таким же (для запуска действия), запустится только одно действие. Здесь я бы сказал, что alarmManager.set был использован не alarmManager.setRepeating.

Я использовал int requestCode = (int)Calendar.getInstance().getTimeInMillis(); сохранить код запроса разным для разных pendingIntents.

Но Официальный справочник упоминает это как

requestCode     Private request code for the sender (currently not used).

Так что лучший способ - попробовать это в вашей ситуации, но разные PendingIntents с одним и тем же кодом запроса будут объединены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...