1

所以我需要创建一定数量的警报。如果用户需要全天定期发出 10 次警报,我怎样才能有效地编写代码以便发出 10 次警报?

或者,是否可以多次覆盖单个警报?

这是关于 Android App Dev 的。

4

2 回答 2

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 数组创建“用户输入”数量的警报作为时间。最后,intentArray 将包含所有待处理的意图(如果您需要它们)。

于 2013-06-25T07:52:21.640 回答
0

从用户那里获取数字,并创建一个方法 setAlaram(int numOfMeals){ },您可以使用您的公式和这个数字来设置警报!

于 2013-06-25T08:00:14.240 回答