如何为用户选择的日期设置重复警报?

时间:2016-09-06 09:23:13

标签: android alarmmanager repeatingalarm

条件: 用户选择一个活动时间段(从和到),在该时间段内,警报应以用户指定的间隔激活。 用户选择闹钟应处于非活动状态或静音状态的一天的非活动时间段(从和到)。 用户选择应该触发警报的日期。

例如:用户选择闹钟的活动时段为上午9:00至下午6:00,间隔为20分钟。 并且他不希望闹钟在休息时间通知。午休时间是从下午1点到下午2点。他只在周二,周四和周日发出警报。 因此,在星期二,星期四和星期日,警报应在上午9点开火,并以20分钟的间隔开火直到下午6点。在警报之间应该是在下午1点到2点之间保持沉默。

用户在主要活动中设置时间,并且这些时间的警报在另一个可以设置和取消警报的活动中设置。

变量:

从时间开始有效(以毫秒为单位):int AFrom

活跃时间(以毫秒为单位):int ATo

从时间中断(以毫秒为单位):int BFrom

时间间隔(以毫秒为单位):int Bto

警报触发间隔(以毫秒为单位):int interval

使用带有多个复选框的Android警报对话框选择no:of days:

Double

(这仅供参考。已经创建了实际工作对话框。只想使用所选日期的索引来查看日历日)

使用checkedDays []引用

days []以标识setMultiChoiceItems()中的选定日期。

在setMultiChioceItems()中:

String days[] = {"MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"} ;
Boolean checkedDays[] = {false,true,false,true,false,true,false};
final ArrayList DaysSelected = new ArrayList();

必须为checkedDays []值为true的日期设置警报

注意:所有变量都设置为静态以用于所有活动。

使用上述变量如何根据上述要求的条件触发以下警报?

builder.setMultiChoiceItems(days, checkedDays,
                new DialogInterface.OnMultiChoiceClickListener() {


                    @Override
           public void onClick(DialogInterface dialog, int selectedItemId,
                                        boolean isSelected) {
                        if (isSelected) {

                            DaysSelected .add(selectedItemId);
                        } else if (DaysSelected .contains(selectedItemId)) {

                         DaysSelected .remove(Integer.valueOf(selectedItemId));
                        }
                    }
                })

0 个答案:

没有答案