Мои сигналы тревоги инициализируются следующим образом, используя пользовательский класс сигналов тревоги:
//j represents the day of the week, starting on sunday
Intent myIntent;
PendingIntent pendingIntent;
TimeSpan instTime = instAlarm.AlarmTime;
Calendar currentDate = Calendar.GetInstance(Resources.Configuration.Locale);
int year = currentDate.Get(CalendarField.Year);
int month = currentDate.Get(CalendarField.Month);
currentDate.Set(CalendarField.DayOfWeek, j+1);
int day = currentDate.Get(CalendarField.DayOfMonth);
Calendar calInst = new GregorianCalendar(year, month, day, instTime.Hours, instTime.Minutes, 0);
myIntent = new Intent(this, typeof(AlarmReceiver));
myIntent.PutExtra("theName", instAlarm.Name);
myIntent.PutExtra("Description", instAlarm.Description);
myIntent.PutExtra("Gauntlet", instAlarm.Gauntlet);
myIntent.PutExtra("Daily", instAlarm.Daily);
pendingIntent = PendingIntent.GetBroadcast(Application.Context, 0, myIntent, 0);
manager.SetExact(AlarmType.RtcWakeup, calInst.TimeInMillis, pendingIntent);
, а затем получает дополнительные строки и логические значения:
string instName = intent.GetStringExtra("theName").ToString();
string instDescription = intent.GetStringExtra("Description").ToString();
bool Gauntlet = intent.GetBooleanExtra("Gauntlet", false);
bool Daily = intent.GetBooleanExtra("Daily", false);
Toast.MakeText(Android.App.Application.Context, instName + "|" + instDescription, ToastLength.Long).Show();
Поэтому, когда я делаю аварийный сигнал, первый отображает имя и описание правильно, но любые аварийные сигналы, сделанные после этого, отображают тот же текст, что и первый. Это продолжается, даже если сигнал тревоги удален, приложение закрыто и снова открыто, или если я выйду и снова войду в режим отладки. Единственный способ изменить его - это перестроить решение.
Я не знаком с AlarmManager или Intents, поэтому любая помощь будет признательна.
Спасибо.