AlarmClock.EXTRA_DAYS如何工作 - Android Studio
所以我有一个代码在指定的时间设置闹钟。我想指定星期几。到目前为止,我找到的所有例子都使用Calendar类,但是,我使用AlarmClock。这是我的代码:AlarmClock.EXTRA_DAYS如何工作 - Android Studio
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
如果没有记错的话,通过选择日历。星期天,当设置闹钟时,星期天应该在组合框中打勾,这意味着这个闹钟将在每个星期日都会重复,但事实并非如此。
我该如何设法选择一周中的哪几天我的闹钟应该重复?
任何帮助表示欢迎,并感谢为你的时间提前,
Sartox
编辑:我使用的是
<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);
耶稣,我很短视:/感谢您的帮助,一直坚持了这一两天。非常感谢:D – sartox
很容易错过精心设计的事物中的这些简单细节。乐于帮助。 :) – iVoid
这很奇怪,它显式是一个'ArrayList '而不是'List ' – AjahnCharles
但你正在使用的权限'com.android.alarm.permission.SET_ALARM'? – Opiatefuchs
是的,忘了提及它。将立即编辑。谢谢 – sartox