如何创建一定数量的变量,其数量取决于用户输入?

时间:2013-06-25 07:42:34

标签: android alarmmanager

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

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

这与Android App Dev。

有关

2 个答案:

答案 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!