10

我正在使用 Delphi XE5 开发 Android 应用程序,我想知道如何在默认浏览器中打开 URL,以及使用默认阅读器打开 PDF 文件。为 Windows 开发,我使用ShellExecute了,但对于 Android 和 iOS,我应该使用什么?

4

2 回答 2

17

对于这些类型的 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;

打开 PDF 文件

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;
于 2013-09-18T16:48:02.463 回答
1

此处的 n00b 无法解决如何向已针对先前答案发布的评论集添加评论,但我使用它,这是主题的另一个变体,使用构造函数参数:

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;
于 2013-09-25T23:57:57.583 回答