Я новичок в программировании для Android, работаю над приложением для Android и застрял в создании нескольких сигналов тревоги.
мой код запускает только последний сигнал и игнорирует предыдущие
даты хранятся в базе данных (SQlite), которую пользователь указывает
это мой менеджер класса напоминаний
public class ReminderManager {
private Context mContext;
private AlarmManager mAlarmManager;
public Appointments_ReminderManager(Context context) {
mContext = context;
mAlarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
}
public void setReminder(Long reminderId, Calendar when) {
Intent i = new Intent(mContext, Appointments_OnAlarmReceiver.class);
i.putExtra(RemindersDbAdapter.KEY_ROWID_APPOIN, (long)reminderId);
PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, i, PendingIntent.FLAG_ONE_SHOT);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi);
}
}
и это класс приемника
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ComponentInfo;
import android.util.Log;
public class OnAlarmReceiver extends BroadcastReceiver {
private static final String TAG = ComponentInfo.class.getCanonicalName();
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "Received wake up from alarm manager.");
long rowid = intent.getExtras().getLong(RemindersDbAdapter.KEY_ROWID_APPOIN);
WakeReminderIntentService.acquireStaticLock(context);
Intent i = new Intent(context, ReminderService.class);
i.putExtra(RemindersDbAdapter.KEY_ROWID_APPOIN, rowid);
context.startService(i);
}
}
Может кто-нибудь, пожалуйста, помогите мне изменить мой код для запуска нескольких сигналов тревоги, указанных пользователем, который хранится в базе данных.