2017-04-13 171 views
1

所以我有一個代碼在指定的時間設置鬧鐘。我想指定星期幾。到目前爲止,我找到的所有例子都使用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"/> 

我的清單。警報正常工作,只需要學習如何設置一週的日子。

+0

但你正在使用的權限'com.android.alarm.permission.SET_ALARM'? – Opiatefuchs

+0

是的,忘了提及它。將立即編輯。謝謝 – sartox

回答

0
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); 
+0

耶穌,我很短視:/感謝您的幫助,一直堅持了這一兩天。非常感謝:D – sartox

+0

很容易錯過精心設計的事物中的這些簡單細節。樂於幫助。 :) – iVoid

+0

這很奇怪,它顯式是一個'ArrayList <>'而不是'List <>' – AjahnCharles