【问题标题】:Is it possible to set a specific date with the Alarm Clock?是否可以使用闹钟设置特定日期?
【发布时间】:2020-08-15 17:53:15
【问题描述】:

这就是我设置闹钟的方式:

//all this inside a onClickListener
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 30);
cal.set(Calendar.MONTH, 8);
cal.set(Calendar.YEAR, 2020);

Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM);
intent.putExtra(AlarmClock.EXTRA_HOUR, Integer.parseInt(str1));
intent.putExtra(AlarmClock.EXTRA_MINUTES, Integer.parseInt(str2));
intent.putExtra(AlarmClock.EXTRA_MESSAGE, title.getText().toString());
intent.putExtra(AlarmClock.EXTRA_DAYS, cal.get(Calendar.DAY_OF_MONTH));
intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
startActivity(intent);

所有这一切都很好地设置了我设备上的应用闹钟关于时间,但不是日期。

例子:

  1. 当前时间:周一 12:00

    我的代码中的时间:星期六 13:00

    闹钟设置为在 1 小时后播放(铃声)

  2. 当前时间:周一 12:00

    我的代码中的时间:周二 11:00

    闹钟将在 25 小时后播放(铃声)

我不知道如何使用这行代码:

intent.putExtra(AlarmClock.EXTRA_DAYS, cal.get(Calendar.DAY_OF_MONTH));

提前致谢

【问题讨论】:

标签: android setalarmclock


【解决方案1】:

您无法使用AlarmClock 提供程序为特定日期设置警报。

AlarmClock.EXTRA_DAYS 用于重复警报。你可以使用Calendar.SUNDAY 之类的东西,它会在每个星期天响起。

如果您想更好地控制警报,则必须自己编程。查看AlarmManager 类。它允许您安排您的应用程序在未来某个时间点运行。

【讨论】:

    猜你喜欢
    • 2013-08-19
    • 1970-01-01
    • 2011-06-09
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    相关资源
    最近更新 更多