我正在使用此代碼來啓動鬧鐘。如何避免爲AlarmManager設置唯一的ID?
該警報設置在用戶可以啓動的活動中。
//Setting alarm to fire off NEW_GAME intent every 24 hours.
String alarm = Context.ALARM_SERVICE;
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND,0);
calendar.set(Calendar.MILLISECOND, 0);
Log.i("Test", "Current time: " + System.currentTimeMillis());
Log.i("Test", "Calendar time: " + calendar.getTimeInMillis());
int currentDate = calendar.get(Calendar.DATE);
calendar.set(Calendar.DATE, currentDate+1);
Log.i("Test", "Calendar time with a day added: " + calendar.getTimeInMillis());
AlarmManager am = (AlarmManager)getActivity().getSystemService(alarm);
Intent intent = new Intent("NEW_ITEM");
PendingIntent sender = PendingIntent.getBroadcast(getActivity(), 0, intent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis() , AlarmManager.INTERVAL_DAY, sender);
我被告知我需要提供一個唯一的ID,以便在getBroadcast()所在的位置報警不會相互編寫。
問題是,當用戶可以根據需要多次打開活動時,我該如何做到這一點?
此外,如果我每次提供一個唯一的ID,這意味着它可能會設置5個相同的ALARMS,因爲唯一的ID。
如何或什麼是解決這個問題的最好方法?
爲你所做的答案的工作? – LordT