Я разрабатываю приложение для Android с Delphi XE5, и мне хотелось бы узнать, как я могу открыть URL-адрес в браузере по умолчанию и файл PDF с устройством чтения по умолчанию.
Разрабатывая для Windows, я использовал ShellExecute
, но для Android и iOS, что я должен использовать?
Как открыть URL-адреса, PDF файлы и т.д. С помощью приложений по умолчанию?
Ответ 1
Для такой задачи pf вы можете использовать класс Intent
, который представлен в Delphi интерфейсом JIntent
.
Попробуйте эти образцы
Открыть URL
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;
Ответ 2
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;