← Portafolio ClauV Studio

Caso de estudio · Automatización Android

AutoResponder

Respuestas controladas mediante capacidades nativas de Android.

Aplicación Android nativa diseñada para observar notificaciones autorizadas, identificar acciones de respuesta y comunicarse con servicios externos para automatizar flujos controlados.

Standby controlado
  • Android
  • Kotlin
  • NotificationListenerService
  • RemoteInput
  • OkHttp
Diagrama público del flujo principal de AutoResponder

Prototipo funcional validado

El proyecto

AutoResponder explora una automatización respetuosa con Android: trabaja con permiso explícito de acceso a notificaciones y utiliza únicamente las acciones que cada notificación expone.

La versión preservada es 1.1.0-event-id, con Android 11 como mínimo. Fue validada en dos dispositivos, pero permanece en standby porque la plataforma no ofrece un acuse de entrega fiable y algunas notificaciones admiten una sola respuesta útil.

No es un producto comercial público ni se recomienda su operación desatendida.

Implementado y validado

Qué desarrollé

01

Android nativo

Kotlin, Gradle, ViewBinding y compatibilidad desde Android 11.

02

Notificaciones

Servicio autorizado que detecta eventos, cambios y duplicados.

03

Respuesta nativa

Acciones compatibles mediante RemoteInput y PendingIntent.

04

Integración externa

Cliente HTTP seguro con tiempos límite y errores controlados.

05

Persistencia

Room para eventos e idempotencia; DataStore para configuración.

06

Diagnóstico

Inspector, estado del listener, exportación anónima y pruebas dirigidas.

Permiso explícito

Captura y procesamiento de notificaciones

El servicio filtra la fuente configurada, normaliza cada evento, genera una identidad estable y reserva su procesamiento para evitar llamadas o respuestas duplicadas.

  • Evento recibido
  • Filtro de origen
  • Identidad canónica
  • Reserva atómica
  • Cola por conversación
  • Registro local

API oficial del sistema

Respuestas nativas

NotificaciónAcción ResponderRemoteInputRespuesta

El sistema detecta entrada de texto libre y usa el PendingIntent de la notificación. No emplea coordenadas ni AccessibilityService.

Hallazgo: algunas aplicaciones consumen la notificación después de una respuesta. El diseño consolida el contenido y limita cada evento a un intento útil.

Sistema conectado

Arquitectura

Entrada AndroidNotificationListenerServiceEventos autorizados · filtrado · inspección
Identidad e idempotencia
Núcleo localAutoResponderRoom · DataStore · cola por conversación
IntegraciónServicio externo / APIOkHttp · HTTPS · respuesta estructurada
Acción nativa disponible
Salida AndroidRemoteInputUn intento reservado por evento

Diagnóstico y validación

Herramientas internas

El inspector registra revisiones técnicas, acciones y disponibilidad de RemoteInput sin ejecutar respuestas. La evidencia pública de este caso no reutiliza dumps ni conversaciones privadas.

  • 50 pruebas JVM verificadas · 0 fallos
  • Estado del listener
  • Inspector local
  • Acciones
  • RemoteInput
  • Modo prueba
  • Exportación anónima

Stack confirmado

Tecnologías

Plataforma

  • Android 11+
  • Kotlin
  • Gradle
  • Java 17

Android APIs

  • NotificationListenerService
  • RemoteInput
  • PendingIntent

Datos y pruebas

  • OkHttp
  • Room
  • DataStore
  • JUnit
  • Robolectric
  • UI Automator

Decisiones reales

Retos y soluciones

Reto

Una notificación puede actualizarse varias veces.

Solución

Identidad canónica y cambios condicionales en Room.

Reto

La acción puede dejar de ser válida.

Solución

Registro en vivo y bloqueo seguro si quedó obsoleta.

Reto

Aceptación local no garantiza entrega.

Solución

Estado no verificado y sin reintento automático.

Reto

Respuestas múltiples no llegan separadas.

Solución

Combinación determinista y un RemoteInput por evento.

Resultado

Automatización funcional con límites explícitos

Prototipo capaz de observar notificaciones autorizadas, identificar acciones, consultar un servicio externo y utilizar RemoteInput en flujos controlados. La validación demostró su funcionamiento y los límites que hoy impiden recomendar una operación desatendida.