Android 4.3 y superior permite acceder a una lista de notificaciones históricas mediante la función Ajustes widget. El alcance del "histórico" se limita a la sesión actual de Android y la lista se rellena con nuevas entradas una vez que se reinicia el sistema.
(Haga clic en la imagen para ampliarla)
Así que, ¿Dónde se almacena este registro de notificaciones en Android?
-
No he tenido suerte en encontrar nada bueno llamado "notificación". Ya hice una búsqueda en todo el sistema sin nada positivo que informar aquí.
find / -iname "*notification*"
-
He visto la salida en tiempo real de
adb logcat -v long
(también lo intenté con acceso Root explícito) pero no había ningún evento común cuando aparecía una notificación en el cajón de notificaciones. Yo estaba monitoreando la solicitud de ping (aparece como una notificación) a KDE Connect enviado desde mi Slackware Linux, para el caso de prueba. -
Las entradas visibles en el cajón de notificaciones pueden ser rastreadas hasta la salida de
notification
servicio,adb shell dumpsys notification
Como se ha dicho, se obtienen los actuales pero no los históricos.
-
El verdadero nombre o nombre en clave (supongo) de
notification
servicio esandroid.app.INotificationManager
. Intenté sumergirme en su fuente código y no hay nada positivo que informar. Es muy probable que, al no ser programador, se me haya escapado alguna cosa importante. -
Yo, a pesar de ser reacio por ilógico, me asomé al directorio de datos de Ajustes (
com.android.settings
) y Ajustes Almacenamiento (com.android.providers.settings
) aplicaciones. No hay nada interesante.
Supongo que, o bien el registro se gestiona en la memoria por un programa o en alguna ubicación en el almacenamiento donde los registros se vacían con frecuencia después de la sesión actual de Android termina. No tengo ni idea de lo que estoy hablando.
Editar:
Tengo la Acceso a la notificación a Tasker bajo Ajustes → Gestor de notificaciones ya habilitado. Así que definitivamente ese no es el obstáculo aquí.
( Preguntado por Lucky) La intención asociada a esa Registro de notificaciones ventana accesible a través de Ajustes widget tiene las siguientes cosas:
- Acción:
android.intent.action.MAIN
- Categoría:
com.android.settings.SHORTCUT
- Bandera:
0x10200000
- Componente:
com.android.settings/.Settings$NotificationStationActivity
Nota
- Tengo un OnePlus One rooteado corriendo COS12 (Xposed Framework instalado) y muchas ROMs de Android 5.1.
- Soy absolutamente consciente de que hay muchas aplicaciones que pueden grabar las notificaciones y te permiten verlas. Pero como ya habrás adivinado, no me interesa el pasado futurista sino el pasado relacionado con el momento presente. En resumen, quiero tener acceso a los archivos nativos sin procesar o a los registros para ver tanto las notificaciones históricas como las actuales sin depender de aplicaciones de terceros.
Mi objetivo
Cuando un usuario secundario está enfocado, Tasker (que se ejecuta bajo el usuario principal) pierde cualquier perfil que dependa de una notificación entrante. Google ha observado el hecho de que aquí :
Las notificaciones de otros usuarios no aparecen hasta que están activas.
Pero todavía puede ver esas nuevas notificaciones en la salida de adb shell dumpsys notification
. Así que quiero acceder a los registros directamente para hacer que mis tareas funcionen, eliminando así la dependencia de las notificaciones que aparecen en el cajón de notificaciones.
0 votos
Tal vez usar una llamada de servicio. StatusBarNotification[] " getActiveNotifications() " que traiga una lista de notificaciones que no han sido descartadas. Así que tiene que haber uno para todas las notificaciones déjame ir a buscar la información del gestor de notificaciones. developer.Android.com/reference/Android/app/ developer.Android.com/reference/Android/service/notification/
0 votos
Gracias Bo, pero no estoy metido en ninguna programación ni siquiera con Tasker. Honestamente, no puedo usarlo porque no se puede solucionar problemas que no entiende en absoluto, al menos yo no puedo. Su enfoque puede ser capaz de darme la lista, incluso si tiene sólo las notificaciones actuales, pero la esencia no sería muy diferente de la salida de
dumpsys notification
. En última instancia, pedí un archivo porque puedo establecer el evento de modificación del archivo para que la tarea se ejecute inmediatamente. Su función onotification
La salida del servicio tiene que ser revisada periódicamente para ver si hay diferencias.0 votos
Entiendo y no estoy seguro de que estés en lo cierto, pero estaba pensando que con una llamada de servicio de shell. Usted podría entonces rastrear a través del registro de las acciones realizadas. Era sólo un pensamiento pasajero que debería mencionar por si acaso. Voy a mantener mi ojo hacia fuera sin embargo para una solución.
0 votos
¿Puedes encontrar el Intent/Activity que está siendo llamado cuando el widget Notification Log es llamado? Has mencionado la interfaz INotificationManager mientras que esta interfaz será implementada en una clase y es el NotificationManager clase.
0 votos
Por favor, compruebe si este Ahorro de notificaciones aplicación puede serle útil. Parece que se puede exportar a .csv y alguien dijo que persiste registros incluso después de reiniciar.
0 votos
@Lucky Gracias, pero como señalé en mi pregunta (ver antes Mi objetivo ) estas aplicaciones registran las notificaciones después de instalarlas, por lo que técnicamente, no me están dando el acceso a los archivos en bruto, ni puedo utilizarlos en Tasker.