【问题标题】:How to trigger the alarm multiple times on same day?如何在同一天多次触发警报?
【发布时间】:2016-08-26 10:14:37
【问题描述】:

例如,第一个警报在上午 10:00 触发,第二个警报在上午 11:15 触发,第三个警报在上午 11.45 触发.... 就像这样,每个实例之间没有任何共同点我需要多次触发警报。

如果我有共同差异,则可以使用重复功能,但在需要触发它的时间之间没有共同差异。那么,我怎样才能多次触发警报呢?

【问题讨论】:

  • 设置多个闹钟。您不必使用重复警报。
  • 很简单,可以设置多个闹钟,也可以单独设置闹钟。
  • 在同一天设置多个闹钟

标签: android alarmmanager android-pendingintent android-alarms


【解决方案1】:
You can set multiple alarm

Calendar calendar1 = Calendar.getInstance();
            calendar1.set(Calendar.HOUR_OF_DAY, HOUR_1);
            calendar1.set(Calendar.MINUTE, MINUTES);
            calendar1.set(Calendar.SECOND, SEC);

            Calendar calendar2 = Calendar.getInstance();
            calendar2.set(Calendar.HOUR_OF_DAY, HOUR_2);
            calendar2.set(Calendar.MINUTE, MINUTES);
            calendar2.set(Calendar.SECOND, SEC);

            Calendar calendar3 = Calendar.getInstance();
            calendar3.set(Calendar.HOUR_OF_DAY, HOUR_3);
            calendar3.set(Calendar.MINUTE, MINUTES);
            calendar3.set(Calendar.SECOND, SEC);

            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar1.getTimeInMillis(), ALARM_INTERVAL , pendingIntent1);//here interval is 24*60*60*1000
            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar2.getTimeInMillis(), ALARM_INTERVAL , pendingIntent2);//24*60*60*1000
            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar3.getTimeInMillis(), ALARM_INTERVAL , pendingIntent3);//24*60*60*1000

    }

【讨论】:

【解决方案2】:

来自这个链接 "http://www.satyakomatineni.com/item/3503" , ArrayList<Calendar>calenderList=new ArrayList<Calendar(); calender=Calendar.getInstance(TimeZone.getDefault(),Locale.getDefault());calender.set(Calendar.DATE,resultDay); 日历.set(日历.MONTH,8); calender.set(Calendar.YEAR,2016);calender.set(Calendar.HOUR_OF_DAY,14);calender.set(Calendar.MINUTE,30);calender.set(Calendar.SECOND,10);

for(int n=0;n<calenderList.size();n++)      
PendingIntent pendingIntent = PendingIntent.getBroadcast(

Intent intent = new Intent(TvActivity.this,TVAlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(
                this.getApplicationContext(),n, intent,PendingIntent.FLAG_UPDATE_CURRENT);          AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);         alarmManager.setExact(AlarmManager.RTC_WAKEUP,calenderList.get(n).getTimeInMillis(), pendingIntent);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    相关资源
    最近更新 更多