我知道很多關於這個話題的問題,但他們沒有一個能幫助我做我想做的事情,所以我希望你能幫助我。 我想設置在一天中的不同時間觸發的3個鬧鐘,讓我們去上午9點,下午1點,下午6點。關於小時的信息保存在sqlite數據庫中。設置3個不同的鬧鐘android
我逐行讀取數據庫並設置每小時報警。對於我只使用一個數字的ID。
這是我正在使用的代碼。它只在設置一個鬧鐘時有效,但如果我嘗試設置更多鬧鐘,則不會設置它們。
private void setAlarm() throws ParseException {
DBHelper helper = new DBHelper(Main3Activity.this);
Cursor cursor = helper.getQueryDB();
cursor.moveToPosition(-1);
int i = 1;
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);
while (cursor.moveToNext()) {
final String name = cursor.getString(1);
final String time = cursor.getString(2);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), i, intent, 0);
Calendar t = parseTime(time);
alarmManager.set(AlarmManager.RTC_WAKEUP, t.getTimeInMillis(), pendingIntent);
i++;
}
}
public Calendar parseTime (String t) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(t));
return cal;
}
你能開發更多的答案嗎?我不完全明白你的意思。 – cotita