如何打开默认文件管理器
How to open default file manager
我为 Android 和 IOS 应用程序使用 Delphi 10.3。
我想打开默认的文件管理器,因为它会打开供我单击添加附件,例如在 gmail 中。
要从设备拍摄任何图像,我使用 TakePhotoFromLibraryAction 操作。如何对 PDF 文件执行相同的操作?
如果您使用的是 Delphi 10.3.x,如果您安装了 PDF 查看器,这将在 Android 上打开 PDF:
procedure OpenPDF(const AFileName: string);
var
LIntent: JIntent;
LUri: Jnet_Uri;
begin
LUri := TAndroidHelper.JFileToJURI(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;
对于iOS,一种方法是使用DPF项目包装的QuickLook框架:
https://sourceforge.net/projects/dpfdelphiios/
他们有一个可能有用的 PDF 查看器演示
我为 Android 和 IOS 应用程序使用 Delphi 10.3。
我想打开默认的文件管理器,因为它会打开供我单击添加附件,例如在 gmail 中。
要从设备拍摄任何图像,我使用 TakePhotoFromLibraryAction 操作。如何对 PDF 文件执行相同的操作?
如果您使用的是 Delphi 10.3.x,如果您安装了 PDF 查看器,这将在 Android 上打开 PDF:
procedure OpenPDF(const AFileName: string);
var
LIntent: JIntent;
LUri: Jnet_Uri;
begin
LUri := TAndroidHelper.JFileToJURI(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;
对于iOS,一种方法是使用DPF项目包装的QuickLook框架:
https://sourceforge.net/projects/dpfdelphiios/
他们有一个可能有用的 PDF 查看器演示