Множественная тревога в андроид - PullRequest
0 голосов
/ 15 ноября 2011

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

public class ReminderManager {

private Context mContext; 
private AlarmManager mAlarmManager;

public ReminderManager(Context context) {
    mContext = context; 
    mAlarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
}

public void setReminder(Long taskId, Calendar when) {
     System.out.println("**********************************remindedrmanager************************" );

    Intent i = new Intent(mContext, OnAlarmReceiver.class);
    i.putExtra(RemindersDbAdapter.KEY_ROWID, (long)taskId); 

    PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, i, PendingIntent.FLAG_ONE_SHOT); 

    mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi);
}
}

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

1 Ответ

1 голос
/ 15 ноября 2011

У вас есть изменяемый аргумент № 2 в строке, где вы объявили ожидающий Intent согласно приведенному ниже коду. Вместо этого укажите (int) System.currentTimeMillis () вместо 0

А также Android устанавливает несколько будильников одновременно

PendingIntent pi = PendingIntent.getBroadcast(mContext,(int)System.currentTimeMillis(), i, PendingIntent.FLAG_UPDATE_CURRENT);
...