我正在创建一个调度程序应用程序。在此我使用AlarmManager
和PendingIntent
设置了多个事件。我用下面的方法:使用PendingIntent的多个警报
在这里我声明PendingIntent
阵列:
public static ArrayList <PendingIntent> intentArray= new ArrayList <PendingIntent>();
在这里,我将意图到数组:
PendingIntent pendingIntent = PendingIntent.getBroadcast(
EditScheduleActivity.this, intentid, notifyintent,
PendingIntent.FLAG_UPDATE_CURRENT); //intent id is unique
alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
pendingIntent);
MainActivity.intentArray.add(pendingIntent);
我在这里清除报警:
EditScheduleActivity.alarmManager.cancel(intentArray.get(selecteditemid_int));
intentArray.remove(selecteditemid_int);
但是,当我清除报警,我得到一个ArrayIndexOutOfBoundsException
,我认为问题是当我重新启动应用程序时,意图数组列表被重新初始化并抛出异常。我如何通过保持意图数组列表不被重新初始化来克服这个问题?
SharePrefernece ..! – RobinHood 2013-03-01 05:12:20
但是使用sharedpreference可以存储意向数组吗? – 2013-03-01 05:14:05