所以我需要创建一定数量的警报。如果用户在一天中定期需要10个警报,我怎样才能有效地编写代码以便发出10个警报?
或者,是否可以多次覆盖一个警报?
这与Android App Dev。
有关答案 0 :(得分:1)
警报数量的选择是否留给用户? 如果是的话,
// context variable contains your `Context`
AlarmManager mgrAlarm = (AlarmManager) context.getSystemService(ALARM_SERVICE);
ArrayList<PendingIntent> intentArray = new ArrayList<PendingIntent>();
int[] TimeForAlarm = new int[UserInput];
// Set the time for each alarm according to your need and UserInput.
for(i = 0; i < UserInput; ++i)
{
Intent intent = new Intent(context, OnAlarmReceiver.class);
// Loop counter `i` is used as a `requestCode`
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, i, intent, 0);
// Single alarms according to time we have in TimeForAlarm.
mgrAlarm.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
TimeForAlarm[i],
pendingIntent);
intentArray.add(pendingIntent);
}
这将根据TimeForAlarm阵列创建“UserInput”数量的警报。 最后,intentArray将拥有所有待处理的意图(如果您需要它们)。
答案 1 :(得分:0)
从用户那里获取数字,并制作方法 setAlaram(int numOfMeals){ 并且您可以使用此编号的公式来设置alarams!