寫一個服務,每天在特定時間從數據庫中提取5個值。
然後使用不同的唯一ID在AlarmManger中添加多個條目。
在特定的時間添加報警:
Calendar calendar = Calendar.getInstance();
//9 AM
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getService(context, 0, new Intent(context, YourClass.class), PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);
設置多個報警:
AlarmManager[] alarmManager=new AlarmManager[24];
intentArray = new ArrayList<PendingIntent>();
for(f=0;f<arr2.length;f++){
Intent intent = new Intent(AlarmR.this, Riciving.class);
pi=PendingIntent.getBroadcast(AlarmR.this, f,intent, 0);
alarmManager[f] = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager[f].set(AlarmManager.RTC_WAKEUP,arr2[f] ,pi);
intentArray.add(pi);
}
希望這應該工作。
謝謝,我會試試看。如果我想取消並重新安排,該怎麼辦?例如。用戶可以改變每天5次改變的設置。 – fzansari
您可以添加設置或編輯服務設置。要更改或重新安排它,只需編輯它,然後重新開始。它會工作。一些應用程序「auto sms」google play store使用相同的概念。試着這樣做。 – John
@John你在arr2中有什麼?實際上我需要實現這一點。 –