android - 无法使用 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 文件的任何建议。
解决方案
推荐阅读
- class - 如何板条箱顶类 Salesforce
- css - 通过样式化组件的 id 属性设置布局的最佳实践
- javascript - 数组的输出不正确添加了额外的字母
- node.js - 尝试 npm 链接并在之后运行包但抛出错误“没有这样的文件”
- wordpress - 如何在 Woocommerce 产品类别页面中调整侧边栏的位置
- flutter - mockObserver.didPush 不能在 didPush 中使用任何类型
- makefile - 在带有参数的循环中调用 Make 目标
- python - 当您遇到信任问题时,Excel“另存为”功能到 xlsx
- c++ - 派生类中的函数无法访问基类中的成员
- django - ngx_http_auth_basic_module 可以用于不同端口的后端吗?