0

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

//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));

提前致谢

4

1 回答 1

1

AlarmClock您无法通过提供商为特定日期设置警报。

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

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

于 2020-08-15T18:05:35.563 回答