Diseñada en Kotlin & Jetpack Compose para garantizar puntualidad médica estricta. Administra perfiles familiares, recibe avisos previos silenciosos, activa alarmas prioritarias sobre pantalla bloqueada y respalda todo en JSON local.
Diseñado para funcionar sin fallos, en cualquier circunstancia.
A diferencia de apps comerciales que dependen de servidores o fallan con el modo ahorro de batería, Meds Reminder está optimizado para el ecosistema nativo de Android.
Cero telemetría, cero servidores y cero registros en la nube. Tus datos médicos permanecen estrictamente en la base de datos local SQLite (Room) de tu teléfono.
Despliega la alarma directamente sobre la pantalla de bloqueo mediante AlarmActivity interactiva y disparador de alta prioridad setAlarmClock().
Administra los medicamentos de tus padres, hijos o pareja desde un único dispositivo con catálogos independientes, dosis exactas y horarios personalizados.
Recibe una notificación 15 o 30 minutos antes de la toma con acciones de un toque para marcar como tomada o descartar hoy, evitando interrupciones sonoras.
Pausa las alarmas de una persona por 6 horas o por el resto del día con un solo interruptor. Se reactivan automáticamente al expirar el tiempo programado.
Exporta e importa tu base de datos completa de forma atómica mediante el Storage Access Framework de Android. Sin dependencias propietarias ni bloqueos.
El proyecto implementa una arquitectura desacoplada, reactiva y mantenible bajo principios SOLID, optimizada para responder al milisegundo ante eventos del sistema y reinicios del dispositivo (BootReceiver).
fun scheduleExactMedicationAlarm(context: Context, group: MedicationGroupEntity) {
val alarmManager = context.getSystemService(AlarmManager::class.java)
val triggerEpoch = calculateNextEpoch(group.time)
// Precision alarm compliant with Doze mode
alarmManager.setAlarmClock(
AlarmManager.AlarmClockInfo(triggerEpoch, showIntent),
pendingIntent
)
}