簡體   English   中英

AlarmClock.EXTRA_DAYS 如何工作 - Android Studio

[英]How does AlarmClock.EXTRA_DAYS work - Android Studio

所以我有一個在指定時間設置鬧鍾的代碼。 我還想指定星期幾。 到目前為止,我發現的所有示例都使用 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,在設置鬧鍾時,應該在組合框中勾選星期日,這意味着該鬧鍾將在每個星期日重復,但事實並非如此。

我如何設法選擇我的鬧鍾應該在一周中的哪幾天重復?

歡迎任何幫助,並提前感謝您的時間,

薩托克斯

編輯:我正在使用

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

在我的清單上。 鬧鍾工作正常,只需要學習如何設置星期幾。

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

您需要從Calendar.SATURDAY構造一個ArrayList<Integer>並將其傳遞給putExtra()

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM