我正在創建一個調度程序應用程序。在此我使用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