【发布时间】:2013-09-18 13:35:02
【问题描述】:
我正在使用 Delphi XE5 开发 Android 应用程序,我想知道如何在默认浏览器中打开 URL,以及使用默认阅读器打开 PDF 文件。
Windows开发,我用ShellExecute,但是Android和iOS我应该用什么?
【问题讨论】:
标签: android delphi delphi-xe5
我正在使用 Delphi XE5 开发 Android 应用程序,我想知道如何在默认浏览器中打开 URL,以及使用默认阅读器打开 PDF 文件。
Windows开发,我用ShellExecute,但是Android和iOS我应该用什么?
【问题讨论】:
标签: android delphi delphi-xe5
对于这些类型的 pf 任务,您可以使用 Intent 类,它在 Delphi 中由 JIntent 接口表示。
试试这些示例
uses
Androidapi.JNI.GraphicsContentViewText,
FMX.Helpers.Android;
procedure TForm3.Button1Click(Sender: TObject);
var
Intent: JIntent;
begin
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.setData(StrToJURI('http://www.google.com'));
SharedActivity.startActivity(Intent);
end;
uses
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.JavaTypes,
FMX.Helpers.Android;
procedure TForm3.Button1Click(Sender: TObject);
var
Intent: JIntent;
begin
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.setDataAndType(StrToJURI('filepath'), StringToJString('application/pdf'));
SharedActivity.startActivity(Intent);
end;
【讨论】:
n00b 这里无法解决如何向已针对上一个答案发布的 cmets 集添加评论,但我使用这个,这是主题的另一个变体,使用构造函数参数:
procedure LaunchURL(const URL: string);
var
Intent: JIntent;
begin
Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW,
TJnet_Uri.JavaClass.parse(StringToJString(URL)));
SharedActivity.startActivity(Intent);
end;
【讨论】: