2016-09-10 4 views
0

Я использую настраиваемое событие для хранения данных в базе данных, у меня есть предмет, описание, дата и время. Можно ли установить будильник на основе даты и времени, вставленных в базу данных? Я пытаюсь получить все даты и время, чтобы совпасть с текущим днем ​​и точным временем. Вы знаете, как это сделать?Как установить будильник на основе даты и времени, сохраненных в базе данных Android

+0

Q: 'Это можно установить будильник на основе даты и времени, вставленных в базу данных? A: ** Да, это **. –

ответ

0

Да, вы можете сделать это, используя класс BroadcastReceiver в android. Вы должны искать и читать.

0

Прежде всего, вам нужно получить дату с db.

String dateTime = row.getString(row.getColumnIndexOrThrow(COLUMN_INDEX)); 

Это возвращает строку, разобрать его и переформатировать в локальный формат и часовой пояс:

DateFormat yourDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
try { 
date = yourDateFormat.parse(dateTime); 
} catch (ParseException e) { 
Log.e(TAG, "Parsing date time failed", e); 
} 

теперь установлен аварийный сигнал, используя ниже код

Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 

Calendar current = Calendar.getInstance(); 
if(cal.compareTo(current) <= 0) 
{ 
//The set Date/Time already passed 
    Toast.makeText(getApplicationContext(), "Invalid Date/Time", Toast.LENGTH_LONG).show(); 
} 
else{ 
    Intent intent = new Intent(getBaseContext(), AlarmReceiver.class); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0); 
    AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
    alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent); 
    } 
+0

Я хочу просто настроить базовый аварийный сигнал, который запускается только тогда, когда пользователь находится в приложении, и установленная дата из моей базы данных sqlite. В этом случае нет необходимости в настройке AlarmManager? По-видимому, все, что нужно, это использование Handler с таймером и потоком. Тем не менее, я не вижу примеров Handler в stackoverflow. Пожалуйста, порекомендуйте. – AJW

 Смежные вопросы

  • Нет связанных вопросов^_^