java - AlarmClock.EXTRA_DAYS 如何工作 - Android Studio

标签 java android

所以我有一个在指定时间设置闹钟的代码。我还想指定一周中的哪一天。到目前为止,我发现的所有示例都使用 Calendar 类,但是,我使用 AlarmClock。这是我的代码:

Intent openNewAlarm = new Intent(AlarmClock.ACTION_SET_ALARM);
        openNewAlarm.putExtra(AlarmClock.EXTRA_HOUR, Integer.parseInt(time[0]));
        openNewAlarm.putExtra(AlarmClock.EXTRA_MINUTES, Integer.parseInt(time[1]));
        openNewAlarm.putExtra(AlarmClock.EXTRA_MESSAGE, String.valueOf(reminder.getText()));
        openNewAlarm.putExtra(AlarmClock.EXTRA_DAYS, Calendar.SATURDAY);
        startActivity(openNewAlarm);

注意 EXTRA_DAYS 行。根据描述:

/**
 * Bundle extra: Weekdays for repeating alarm.
 * <p>
 * Used by {@link #ACTION_SET_ALARM}.
 * </p><p>
 * The value is an {@code ArrayList<Integer>}. Each item can be:
 * </p>
 * <ul>
 * <li> {@link java.util.Calendar#SUNDAY},
 * <li> {@link java.util.Calendar#MONDAY},
 * <li> {@link java.util.Calendar#TUESDAY},
 * <li> {@link java.util.Calendar#WEDNESDAY},
 * <li> {@link java.util.Calendar#THURSDAY},
 * <li> {@link java.util.Calendar#FRIDAY},
 * <li> {@link java.util.Calendar#SATURDAY}
 * </ul>
 */
public static final String EXTRA_DAYS = "android.intent.extra.alarm.DAYS";

文档对我帮助不大或者我无法理解它:

https://developer.android.com/reference/android/provider/AlarmClock.html#EXTRA_DAYS

https://developer.android.com/reference/java/util/Calendar.html#SUNDAY

如果没记错的话,通过选择Calendar.Sunday,设置闹钟时,应该在comboBox中勾选sunday,表示这个闹钟会在每个周日重复,但事实并非如此。

如何选择闹钟应在一周中的哪几天重复?

欢迎任何帮助,并提前感谢您的宝贵时间。

编辑:我正在使用

<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>

在我的 list 上。闹钟工作正常,只需要学习如何设置星期几。

最佳答案

The value is an {@code ArrayList<Integer>}.

您需要构造一个 ArrayList<Integer>来自Calendar.SATURDAY并将其传递给putExtra()

ArrayList<Integer> alarmDays= new ArrayList<Integer>();
alarmDays.add(Calendar.SATURDAY);
openNewAlarm.putExtra(AlarmClock.EXTRA_DAYS, alarmDays);

关于java - AlarmClock.EXTRA_DAYS 如何工作 - Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43391350/

相关文章:

php - 如何使用Volley通过JSON从mysql获取多行数据

android - 圆角半径的范围是多少?

android - 如何在 TabLayout 中添加菜单选项?

java - 有没有办法注释 kotlin 对象的 INSTANCE 字段?

java - 如何在 Android 中从 PostExecute 开始新的 Intent ?

java - 为什么 netty 日志不显示正确的类和包信息

android - 我的电脑通过 VPN 连接,Android 模拟器无法访问本地 Intranet 站点

android - 我可以使用 LayoutInflater.inflate() 打开一个新屏幕吗

java - JDBC ResultSet 无法存储查询结果

java - 访问匿名类方法的问题