首页 > 解决方案 > 无法使用 Delphi 从 Android 应用程序打开 PDF

问题描述

我正在使用 Delphi 10.4 开发 android 移动应用程序。我需要在线和本地打开 PDF。

通过使用此代码,我可以打开在线的 PDF,但无法从本地打开文件。

procedure openPdf(InpStrPDFPath: string);
var
  LIntent: JIntent;
begin
  LIntent := TJIntent.Create;
  LIntent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  LIntent.setDataAndType(StrToJURI(InpStrPDFPath), StringToJString('application/pdf'));
  SharedActivity.StartActivity(LIntent);
end;

并尝试了以下代码:

procedure OpenPD_Local(InpStrPDFPath: string);
var
  LIntent: JIntent;
  LUri: Jnet_Uri;
begin
  LIntent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW);
  LUri := StrToJURI(InpStrPDFPath);
  LIntent.SetDataAndType(LUri, StringToJString('application/pdf'));
  LIntent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
  TAndroidHelper.Activity.startActivity(LIntent);
end;

当我使用上面的代码时,它会尝试打开已安装的 PDF 阅读器,但无法打开文件。请向我提供使用 Delphi 在 android 中本地打开 PDF 文件的任何建议。

标签: androiddelphifiremonkeydelphi-10.4-sydney

解决方案


推荐阅读