Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 18-12-2024
dani36652 dani36652 is offline
Miembro
 
Registrado: abr 2019
Posts: 78
Poder: 8
dani36652 Va camino a la fama
Hola qué tal? Ayer llegué a tu casa tarde y no me dió tiempo de analizarlo hasta hoy en la oficina...
Intenta esto, espero que te funcione:
Código Delphi [-]
uses
  {$IFDEF ANDROID}
  Androidapi.JNI.Webkit, FMX.VirtualKeyboard,
  Androidapi.JNI.Print, Androidapi.JNI.Util,
  fmx.Platform.Android, System.Android.Notification,
  Androidapi.jni,fmx.helpers.android, Androidapi.Jni.app,
  Androidapi.Jni.GraphicsContentViewText, Androidapi.JniBridge,
  Androidapi.JNI.Os, Androidapi.Jni.Telephony,
  Androidapi.JNI.JavaTypes,Androidapi.Helpers,
  Androidapi.JNI.Widget,System.Permissions, Androidapi.Jni.Embarcadero,
  FMX.DialogService,Androidapi.Jni.Provider,Androidapi.Jni.Net,
  fmx.TextLayout,AndroidAPI.JNI.Support,
 {$ENDIF}

procedure Borra_Notifi(Id : String; FH : String); // Este procedimiento ya lo tienes
function ExtractName(const AStr: string): string; // Se crea esta nueva funcion

Código Delphi [-]
procedure TForm1.Borra_Notifi(Id, FH: String); //Tu procedimiento quedaría así:

  function DateTimeLocalToUnixMSecGMT(const ADateTime: TDateTime): Int64;
  begin
    Result := DateTimeToUnix(ADateTime) * MSecsPerSec - Round(TTimeZone.Local.UtcOffset.TotalMilliseconds);
  end;
var
  NotificationsList: TStringList;
  Notifications: JString;
  I: Integer;
  Found: Boolean;
  PreferenceEditor: JSharedPreferences_Editor;
  FPreference: JSharedPreferences;
begin
    if DateTimeLocalToUnixMSecGMT(Now) > DateTimeLocalToUnixMSecGMT(StrToDateTime(FH)) then
      Exit; // Si la notificación es anterior no hace nada
    // ShowMessage('Borramos...'+Id+'=='+FH); para controlar que se ha borrado

    NotificationC.RequestPermission;

    (*
      Elimina la notificación mediante el nombre a nivel nativo
    *)
    FPreference := TAndroidHelper.Context.getSharedPreferences(TJNotificationAlarm.JavaClass.NOTIFICATION_CENTER, TJContext.JavaClass.MODE_PRIVATE);
    NotificationsList := TStringList.Create;
    try
      Notifications := FPreference.getString(TJNotificationAlarm.JavaClass.SETTINGS_NOTIFICATION_IDS, nil);
      NotificationsList.Text := JStringToString(Notifications);
      I := 0;
      Found := False;
      while not Found and (I < NotificationsList.Count) do
        if ExtractName(NotificationsList[i]) = Id then
          Found := True
        else
          Inc(I);

      if Found then
      begin
        PreferenceEditor := FPreference.edit;
        try
          NotificationsList.Delete(I);
          PreferenceEditor.putString(TJNotificationAlarm.JavaClass.SETTINGS_NOTIFICATION_IDS, StringToJString(NotificationsList.Text));
        finally
          PreferenceEditor.commit;
        end;
      end;
    finally
      NotificationsList.Free;
    end;

    //Cancela la notificación mediante el TNotificationCenter
    NotificationC.CancelNotification(Id);
end;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Notificaciones en Android Ricardo2010 Desarrollo en Delphi para Android 1 25-03-2021 08:21:02
poner un acceso directo en la barra de notificaciones de android? farute Desarrollo en Delphi para Android 2 16-01-2018 09:27:32
Notificaciones aplicacion android aposi Desarrollo en Delphi para Android 1 10-03-2016 17:58:53
Aplicación por debajo de la barra de notificaciones? Android 5.5'' wolfran_hack Desarrollo en Delphi para Android 6 08-03-2016 19:59:32
envio de Notificaciones "Push" a un dispositivo iOS/Android kaiserilich Desarrollo en Delphi para iOS/OSX 6 01-10-2015 10:15:58


La franja horaria es GMT +2. Ahora son las 03:29:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi