Ir al contenido


Foto

[FMX Android] Imágenes guardadas en móvil no aparecen en la Galería

Firemonkey Android

  • Por favor identifícate para responder
7 respuestas en este tema

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 26 julio 2018 - 01:36

Amigos, estoy pruebas con una aplicación sencilla donde debo tomar fotos con la cámara del equipo y guardarlo en una carpeta y nombre personalizada dentro de DCIM, el caso es que no aparecen en la galería, sí se guardan correctamente, ésto es lo que tengo:

 

Aquí tomo la foto y la asigno en un TImage


delphi
  1. procedure TFTakePicture.btnCameraClick(Sender: TObject);
  2. var Service: IFMXCameraService;
  3. begin
  4. if TPlatformServices.Current.SupportsPlatformService(IFMXCameraService,
  5. Service) then
  6. begin
  7. Service.TakePhoto(btnCamera,
  8. TSize.Create(3600,3600),
  9. True,
  10. DoDidFinish,
  11. nil);
  12. end
  13. else
  14. ShowMessage('Éste dispositivo no soporto el servicio de cámara');
  15. end;

Aquí guardo la imagen a partir del TImage en formato JPG


delphi
  1. procedure TFTakePicture.SpeedButton1Click(Sender: TObject);
  2. var aSplittedText: TStringList;
  3. aPath,aCameraPath: String;
  4. aFile: String;
  5. begin
  6.  
  7. aSplittedText := TStringList.Create;
  8. try
  9. aSplittedText.StrictDelimiter := True;
  10. aSplittedText.Delimiter := '-';
  11. aSplittedText.DelimitedText := aFicha;
  12.  
  13. aFile := trim(aSplittedText.Strings[0] + '-' + aSplittedText.Strings[1]) + '_' + FormatDateTime('yyyymmdd_hhmmss',now) + '.jpg';
  14. aCameraPath := TPath.GetSharedCameraPath + PathDelim + 'SisVEMCamera';
  15.  
  16. if not TDirectory.Exists(aCameraPath) then
  17. TDirectory.CreateDirectory(aCameraPath);
  18.  
  19. aPath := TPath.Combine(aCameraPath,aFile);
  20.  
  21. try
  22.  
  23. Image1.Bitmap.SaveToFile(aPath);
  24.  
  25. ShowMessage('¡Imagen Guardada!');
  26.  
  27. except
  28. ShowMessage('¡Ocurrió un problema al intentar guardar la imagen!')
  29. end;
  30.  
  31. finally
  32. aSplittedText.Free
  33. end;
  34.  
  35. end;

Las imágenes se guardan correctamente en la carpeta SisVEMCamera dentro de la Carpeta DCIM, ¿Estoy obviando algo ó hay que hacerle un tratamiento adicional a esas imágenes?.

 

Estuve viendo la interface IFMXPhotoLibrary y el método AddImageToSavedPhotosAlbum pero no me sirve, porque no puedo renombrar la imagen como quisiera.

 

¿Sugerencias?

 

Saludos.


  • 0

#2 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 26 julio 2018 - 02:52

Hola amigo, mira esto:

 

 

http://docwiki.embar...nkey_Interfaces


  • 0

#3 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 26 julio 2018 - 03:59

Hola amigo, mira esto:

 

 

http://docwiki.embar...nkey_Interfaces

Gracias estimado, es prácticamente lo mismo que tengo, el problema está en las fotos que tomo que sí se guardan pero no se visualizan en ninguna aplicación de galerías.

 

Saludos.


  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 26 julio 2018 - 07:33

Gracias estimado, es prácticamente lo mismo que tengo, el problema está en las fotos que tomo que sí se guardan pero no se visualizan en ninguna aplicación de galerías.

 

Saludos.

 

¿O sea, como es la cosa? ¿Tu si exploras dicha carpeta ves que están las foto, pero si intentas abrilas con las aplicaciones de galeria no lo hace?

Porque si es así, en lo que pensaría es que algo falla al guardar la foto. O que el formato no está bien. ¿Probaste con copiar el archivo jpg a la computadora e intentar abrirlo? Eso nos podría confirmar si hay algo mal en el archivo.

 

Yo la verdad es que desconozco FMX. Pero mientras estuve leyendo el enlace que expuso look, y lo comparo con tu código veo que en el método TakePhoto() le pasas distintos parámetros. Y no sólo eso, en la documentación veo que se le indica el album en donde guardar las fotos... ¿no vendrá por ese lado el problema?

 

Saludos,


  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 27 julio 2018 - 06:41

No, sí se abren desde explorador (en este caso ES Explorer), si no, que no se visualizan en la galería luego de guardarse, hoy que amanecí y encendí el móvil por sorpresa me encuentro que ya aparece la carpeta con las imágenes, ahora bien, ¿hay que hacer algún tipo de release en la aplicación?, por lo que veo es un tema de que la aplicación ó la clase retiene esas imágenes en algún sitio..


  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 27 julio 2018 - 06:50

Ah, la documentación de look se refiere a una versión más reciente de RAD tokyo, yo trabajo con XE 7, que hay propiedades y parámetros que no existen..


  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 27 julio 2018 - 12:01

Me doy cuenta que ése método depende de la aplicación de cámara que esté instalado en el equipo, por lo que si tienes la propiedad activada se guarda la imagen tres veces, la que tira la aplicación cámara, la de edición y la de mi aplicación, voy a intentar con el componente TCameraComponent


  • 0

#8 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 30 julio 2018 - 02:12

He migrado el proyecto a la versión community de Delphi y el asunto persiste, he hecho lo mismo que en el tutorial en su wiki, las imágenes se guardan correctamente, lo puedes visualizar a través de cualquier explorador, pero no se refleja en la aplicación galería, sólo lo hace cuando apagas el equipo y lo vuelves a encender (No reinicio), dejo el link de la aplicación para que lo comprueben (es un proyecto Android).

 

https://drive.google...uviSglCcKJWRckF

 

Saludos.


  • 0





Etiquetado también con una o más de estas palabras: Firemonkey, Android

IP.Board spam blocked by CleanTalk.