![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Abrir Pdf En Api 26
Hola.
Al compilar para api 26 en Rio, al abrir un pdf obtengo este error que antes no aparecía android.os.FileUriExposedException: file:///Storage/emulated/0/Download/AppDataDetails/trabajo.pdf exposed beyond app through Intent.getData() uses Androidapi.JNI.JavaTypes, Androidapi.JNI.Net, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers;procedure OpenPDF(const AFileName: string);var LIntent: JIntent; LAuthority: JString; LUri: Jnet_Uri;begin LAuthority := StringToJString(JStringToString(TAndroidHelper.Context.getApplicationContext.getPackageName)+'.fileprovider'); LUri := TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context, LAuthority, TJFile.JavaClass.init(StringToJString(AFileName))); LIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW); LIntent.setDataAndType(LUri, StringToJString('application/pdf')); LIntent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION); TAndroidHelper.Activity.startActivity(LIntent);end;El código es
Buscando he encontrado una solución You'll need this unit: https://github.com/DelphiWorlds/Kast...leProvider.pas for this code: Pero ahora me da error java.lang.illegalArgumentsException Failed to find configured root that contains /file: /data/user/0/com.embarcadero.PRODUCCION/files/trabajo.pdf El pdf lo leo de una base de datos y lo grabo así:
Alguna idea?, gracias de antemano Última edición por Neftali [Germán.Estévez] fecha: 31-01-2019 a las 08:23:00. Razón: Añadir TAG's al código |
#2
|
||||
|
||||
Para que el lector de pdf pueda abrir el fichero tienes que ponerlo en un directorio compartido, no vale tenerlo en el directorio de tu programa.
Y lo mismo es para cualquier otra cosa similar, como ver fotos con otro programa que no sea el tuyo, etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Cita:
y cual seria un path adecuado?, es que he probado con
Y sigo teniendo el error Última edición por Neftali [Germán.Estévez] fecha: 31-01-2019 a las 08:20:03. Razón: Añadir TAG's al código. |
#4
|
||||
|
||||
Cita:
Por favor, recuerda añadir TAG's al mensaje cuando utilices código Delphi. No se si tiene que ver con el error que te da en este último código, pero es reciomentable que utilices TPath.Combine cuando accedas al fichero,igualque lo has utilizado para grabarlo. Revisa este llink de Javier Pareja sobre este tema, a ver si te aporta algo de información.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
||||
|
||||
Solucionado!
Gracias Germán.
Accediendo como comentas funciona perfectamente, y en base a eso me he dado cuenta que tenía un error
y debia ser:
Así no encontraba el path.... Al menos ahí queda el aporte, el código que encontré en stackoverflow funciona a la perfección. Sorry por los tags Gracias por vuestro tiempo. Última edición por Neftali [Germán.Estévez] fecha: 31-01-2019 a las 08:59:20. Razón: Los TAG's..... |
#6
|
|||
|
|||
Consulta
Disculpa, podrias compartir el proyecto?. Estoy tratando de hacer lo mismo y no logro tener exito. Saludos
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
abrir pdf | yossi | Varios | 3 | 07-07-2010 03:26:27 |
Abrir un URL | Willo | Varios | 1 | 26-11-2008 18:11:54 |
abrir una dll. | REHome | .NET | 2 | 30-08-2007 16:55:28 |
Abrir HTML con IE | CarmaZone | Varios | 1 | 07-06-2005 22:31:34 |
Abrir un archivo PDF | mamen | .NET | 4 | 30-03-2005 12:32:49 |
![]() |
|