Ver Mensaje Individual
  #15  
Antiguo 19-12-2024
dani36652 dani36652 is offline
Miembro
 
Registrado: abr 2019
Posts: 72
Reputación: 7
dani36652 Va camino a la fama
Una vez realizadas las pruebas he podido dar con la solución.
Descripción de por qué las notificaciones no eran canceladas:
Internamente, se devuelve una lista de notificaciones con la estrcutura "notificacion=ID" donde ID es un número entero.
Pero una vez ejecutada la primera notificación y si había más notificaciones, al consultarlas se devolvía una cadena echa un caos con una estructura similar a:

notif=1notif2=2notif3=3notif4=4
notif1=23
notif4=58

pero las funciones que obtienen el nombre y id de cada notificación esperaban algo como:
notif1=1
notif2=2
...

Solución:
Había que implementarse un algoritmo que añadiera los saltos de linea correspondientes a la cadena de texto para ser insertada en un TStringList y ser recorrida por las funciones pertinentes y obtener los datos de las notificaciones.

Todo lo anterior se aplicó en forma de parche a la unidad System.Android.Notification y se los comparto en el siguiente enlace a Github:
https://github.com/dani36652/Delphi-...ions/tree/main

Nota de uso: Copiar "System.Android.Notification.pas" a la carpeta de su proyecto; posteriormente en el IDE en la parte derecha abajo de "Project group", hacer click derecho sobre el nombre del proyecto, clickear "add" y seleccionan la unidad antes mencionada y eso es todo.
Las notificaciones se cancelan normal desde el TNotificationCenter y no necesitarán modificar su código


Saludos cordiales!


Este parche fue escrito en Delphi 12.2 Athens.
No se recomienda usar en versiones anteriores. Para ello, sugiero copiarse la unidad, aplicar el algoritmo de ordenamiento e implementarlo donde sea pertinente guiándose del parche que anteriormente se describe.

Última edición por dani36652 fecha: 19-12-2024 a las 20:06:14.
Responder Con Cita