我有這個方法,我打電話安排事件序列爲什麼我創建的PendingIntents都帶有相同的額外?
public void schedule(Event event) {
SharedPreferences preferences = context
.getSharedPreferences("myapp", 4);
int numberofintent = preferences.getInt("numberofintent", 0);
AlarmManager mgr = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
if (event.dtstart > today.getTimeInMillis() && event.isreminder) {
Intent i = new Intent(context, ReminderPopUp01.class);
i.putExtra("id", Long.toString(event._id));
i.setAction("com.blah.Action");
Log.e("id in scheduler",Long.toString(event._id));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(context,
numberofintent, i, 0);
mgr.set(AlarmManager.RTC_WAKEUP, event.dtstart, pi);
numberofintent++;
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("numberofintent", numberofintent);
editor.commit();
}
但我得到一個奇怪的結果是:在不同的時間不同的PendingIntents的正確安排,
但他們隨身攜帶的所有相同額外的「ID」 !!! (但每個事件的ID是不同的)
這究竟是爲什麼?
編輯編輯編輯編輯編輯
請注意RequestCode始終是不同的....
謝謝Brigam,我明白了,在這種情況下我可以改變什麼來使意圖不同?正如你看到的我改變請求的代碼,但我所說的活動總是爲你的建議一樣...感謝 –
三最後一段http://developer.android.com/reference/android/app/PendingIntent.html –
@ Brigham沒有提供足夠的不同請求碼? –