gpt4 book ai didi

java - 闹钟管理器在一周中的某一天设置闹钟

转载 作者:行者123 更新时间:2023-12-02 11:50:02 27 4
gpt4 key购买 nike

我有一个时间选择器对话框,我可以在其中选择闹钟时间。然后我设置我希望闹钟在哪一天响起。如果我指定今天(星期六)“一周中的某一天”,则闹钟会在时间选择器上指定的正确时间响起。如果我设置了,比如说星期一,闹钟一设置就会立即响起。

如何,我可以安排闹钟在一周中的某一天(而不是今天)响起吗?

JAVA

timepickerdialog = new TimePickerDialog(AddAlarmActivity.this,
new TimePickerDialog.OnTimeSetListener() {

@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {

Calendar ca = Calendar.getInstance();
ca.set(Calendar.HOUR_OF_DAY,hourOfDay);
ca.set(Calendar.MINUTE,minute);
ca.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
ca.set(Calendar.SECOND, 0);
ca.set(Calendar.MILLISECOND, 0);

AlarmManager alarmManager;
alarmManager = (AlarmManager) AddAlarmActivity.this.getSystemService(ALARM_SERVICE);
Intent intent;

intent = new Intent(AddAlarmActivity.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(AddAlarmActivity.this, 0, intent, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, ca.getTimeInMillis(), 1000*60*60*24, pendingIntent);

看来,如果我设置的日期就是今天,或者根本没有设置,效果很好。为什么它在不是当天的某一天不起作用,我怎样才能让它工作?我转向 SO 因为我没有得到谷歌的任何帮助。

我也尝试过 ca.set(Calendar.DAY_OF_WEEK, 2);

谢谢

最佳答案

问题是您的日历将闹钟日期默认设置为今天,并且指定的时间小于您执行闹钟的时间。时间已经过去了,尽管已经晚了,它还是在通知你。 例如,您在晚上 7:00 运行代码,但日历时间设置为下午 6:50。如果您希望从明天开始触发闹钟,请将其添加到您的日历配置中:

calendar.add(Calendar. DATE, 1);

另外,请确保在 list 中定义广播接收器,以便在应用未运行时警报正常工作。

关于java - 闹钟管理器在一周中的某一天设置闹钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47957773/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com