Cómo configurar mediante programación un mensaje recordatorio para una fecha particular en Android

Gracias por A2A. Entiendo que te gustaría establecer un recordatorio. Bueno, hay dos formas de lograr esto.

  1. Puede usar el Administrador de alarmas y configurar una alarma para la fecha y hora especificadas. Esto activará un servicio / transmisión / actividad según su preferencia dentro del contexto de su aplicación. Tenga en cuenta que tendrá que gestionar las alarmas usted mismo, ya que se destruyen cuando el dispositivo se apaga.
  2. Puede usar Google Calendar para crear / insertar un evento con un recordatorio. Aquí tiene la ventaja de que el evento será manejado por la aplicación Calendario que se sincroniza entre dispositivos. Entonces recibirá este recordatorio en otros dispositivos (donde sea que haya iniciado sesión) también.

Mirando lo anterior, creo que la aplicación Calendario es tu mejor opción.

Por favor, consulte el siguiente código para referencia.

ContentResolver cr = context.getContentResolver ();
ContentValues ​​calEvent = new ContentValues ​​();
calEvent.put (CalendarContract.Events.CALENDAR_ID, 1); // XXX selección)
calEvent.put (CalendarContract.Events.TITLE, “Recordatorio para” + schedule.getLabel ());
calEvent.put (CalendarContract.Events.DTSTART, eventTime);
calEvent.put (CalendarContract.Events.DTEND, eventTime + (60 * 60 * 1000));
calEvent.put (CalendarContract.Events.HAS_ALARM, 1);
calEvent.put (CalendarContract.Events.EVENT_TIMEZONE, CalendarContract.Calendars.CALENDAR_TIME_ZONE);

// guardar un evento
uri final = cr.insert (CalendarContract.Events.CONTENT_URI, calEvent);

int dbId = Integer.parseInt (uri.getLastPathSegment ());

// Ahora crea un recordatorio y adjúntalo al recordatorio
Recordatorios de ContentValues ​​= nuevos ContentValues ​​();
reminders.put (CalendarContract.Reminders.EVENT_ID, dbId);
reminders.put (CalendarContract.Reminders.METHOD, CalendarContract.Reminders.METHOD_DEFAULT);
reminders.put (CalendarContract.Reminders.MINUTES, 0);

recordatorio final de Uri = cr.insert (CalendarContract.Reminders.CONTENT_URI, recordatorios);

int agregado = Integer.parseInt (reminder.getLastPathSegment ());

// esto significa que se agrega un recordatorio
if (agregado> 0) {
Vista de intención = nueva intención (Intent.ACTION_VIEW);
view.setData (uri); // ingrese la uri del evento, no el recordatorio

if (Build.VERSION.SDK_INT> Build.VERSION_CODES.KITKAT_WATCH) {
view.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_SINGLE_TOP | Intención.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_NO_HISTORY | Intención.FLAG_ACTIVITY_NEW_DOCUMENT);
}
más {
view.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK |
Intención.FLAG_ACTIVITY_SINGLE_TOP | Intención.FLAG_ACTIVITY_CLEAR_TOP |
Intención.FLAG_ACTIVITY_NO_HISTORY |
Intención.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
}
// ver el evento en el calendario
startActivity (ver);
}

Espero que esto ayude.

Feliz codificación y saludos!

Creo que está buscando una solución para configurar el recordatorio en la aplicación de Android predeterminada.

Puede establecer un evento para eso en el calendario del dispositivo.

Si desea hacerlo mediante programación, puede usar este código:

public void addReminder (int statrYear, int startMonth, int startDay, int startHour, int startMinut, int endYear, int endMonth, int endDay, int endHour, int endMinuts) {
Calendar beginTime = Calendar.getInstance ();
beginTime.set (statrYear, startMonth, startDay, startHour, startMinut);
largo startMillis = beginTime.getTimeInMillis ();

Calendar endTime = Calendar.getInstance ();
endTime.set (endYear, endMonth, endDay, endHour, endMinuts);
largo endMillis = endTime.getTimeInMillis ();

String eventUriString = “contenido: //com.android.calendar/events”;
ContentValues ​​eventValues ​​= new ContentValues ​​();

eventValues.put (Events.CALENDAR_ID, 1);
eventValues.put (Events.TITLE, “OCS”);
eventValues.put (Events.DESCRIPTION, “Aplicación clínica”);
eventValues.put (Events.EVENT_TIMEZONE, “Nasik”);
eventValues.put (Events.DTSTART, startMillis);
eventValues.put (Events.DTEND, endMillis);

//eventValues.put(Events.RRULE, “FREQ = DIARIO; COUNT = 2; UNTIL =” + endMillis);
eventValues.put (“eventStatus”, 1);
eventValues.put (“visibilidad”, 3);
eventValues.put (“transparencia”, 0);
eventValues.put (Events.HAS_ALARM, 1);

Uri eventUri = getContentResolver (). Insert (Uri.parse (eventUriString), eventValues);
ID de evento largo = Long.parseLong (eventUri.getLastPathSegment ());

/ ***************** Evento: Recordatorio (con alerta) Agregar recordatorio al evento ******************* /

String reminderUriString = “content: //com.android.calendar/reminders”;

ContentValues ​​reminderValues ​​= new ContentValues ​​();

reminderValues.put (“event_id”, eventID);
reminderValues.put (“minutos”, 1);
reminderValues.put (“método”, 1);

Uri reminderUri = getContentResolver (). Insert (Uri.parse (reminderUriString), reminderValues);
}

Echa un vistazo a estas referencias también

Recordatorio Funcionalidad

¿Cómo configurar un recordatorio en Android?

Puedes usar Google Keep.

Le permite crear diferentes tipos de lista de tareas pendientes (notas), así como también le permite configurar recordatorios para notas particulares. Característica clave, puede ver sus notas en línea en cualquier momento. Siempre sincroniza tus notas en segundo plano.

Si está desarrollando su propia aplicación de recordatorio, use el Administrador de alarmas para despertarse en un momento determinado y luego use el receptor de transmisión para mostrar el diálogo con el texto.