我有一个提醒应用程序,我有一个像这样的警报管理器
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);
}
}
即使我设置了多个警报,我也只得到一个alram。问题是由于上述代码中的某些错误还是因为其他一些错误。
答案 0 :(得分:1)
您已根据下面的代码更改了参数no 2,其中您声明了待处理的Intent。而是指定(int)System.currentTimeMillis()代替0
还有android set multiple alarms simultaneosuly
PendingIntent pi = PendingIntent.getBroadcast(mContext,(int)System.currentTimeMillis(), i, PendingIntent.FLAG_UPDATE_CURRENT);