从Delphi Firemonkey Android应用程序代码打开本地pdf文件

从Delphi Firemonkey Android应用程序代码打开本地pdf文件,delphi,pdf,document,firemonkey,Delphi,Pdf,Document,Firemonkey,注:Delphi XE8,适用于Android 4.4.2的Firemonkey应用程序 我正试图从Firemonkey制作的Android应用程序中打开一个pdf文档,只打开Adobe Acrobat,但该文件没有打开,然后我在网上找到了几个网页,我尝试了其中的每一个,但没有一个有效 错误消息是 Adobe找不到要打开的文档 但是这个文档在一个公共文件夹中,我已经把它移到了另一个文件夹中,什么也没发生 我已经打开了其他文件夹中的图像,没有问题,我不明白 谁能给我一个解决方案吗 procedur

注:Delphi XE8,适用于Android 4.4.2的Firemonkey应用程序

我正试图从Firemonkey制作的Android应用程序中打开一个pdf文档,只打开Adobe Acrobat,但该文件没有打开,然后我在网上找到了几个网页,我尝试了其中的每一个,但没有一个有效

错误消息是

Adobe找不到要打开的文档

但是这个文档在一个公共文件夹中,我已经把它移到了另一个文件夹中,什么也没发生

我已经打开了其他文件夹中的图像,没有问题,我不明白

谁能给我一个解决方案吗

procedure TForm1.bttnAbrirClick(Sender: TObject);
var
NombreFichero,
RutaRaiz,
Ruta_Fichero,
Ruta_Fichero2    : String;

begin

// NombreFichero     := 'Doc1.pdf';

//  RutaRaiz          := 'File:///storage/emulated/0/TabletBigger/Images/Articulos';
//   RutaRaiz          := '/storage/emulated/0/TabletBigger/Images/Articulos';
// RutaRaiz          := '/storage/sdcard0/TabletBigger/Images/Articulos';         // en mi tablet
//  Ruta_Fichero      := System.IOUtils.TPath.Combine(RutaRaiz, NombreFichero);
//  Ruta_Fichero      := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetDownloadsPath, NombreFichero);
// Ruta_Fichero      := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetSharedDownloadsPath, RutaRaiz);

  NombreFichero      := 'Introduccion.pdf';
  Ruta_Fichero2      := '/storage/emulated/0/TabletBigger/Images/Articulos/Introduccion.pdf';
  Ruta_Fichero       := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetPublicPath, NombreFichero);

  showtext.Text :=  Ruta_Fichero;

  open(Ruta_Fichero);

   // Ruta_Fichero :=  StringReplace(StringReplace( Ruta_Fichero, '\', '\\', [rfReplaceAll]), '"', '\"', [rfReplaceAll]) + '"';
   //_system(PAnsiChar('Open ' + AnsiString(Ruta_Fichero)))

end;


procedure TForm1.Open(Ruta_Fichero : String);
var
  Intent: JIntent;
begin

if FileExists(Ruta_Fichero) then
begin
    Intent := TJIntent.Create;
    Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
    Intent.setDataAndType(StrToJURI(Ruta_Fichero), StringToJString('application/pdf'));
    Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP);
    try
      SharedActivity.startActivity(Intent);
    Except

    end;

end
else
  _MessageDlg('El fichero no existe', mssInf);

end;
“解决它

我找到的好答案是:

作者:afzalali15

我将尝试上传整个代码


无论如何,谢谢。

“解决它!我在以下网站上找到了一个好答案:afzalali15。