gpt4 book ai didi

android - XE6 firemonkey IOS-DELPHI 打开网址

转载 作者:行者123 更新时间:2023-11-29 14:48:34 24 4
gpt4 key购买 nike

早上好

我正在尝试为 android 和 IOS 做一个跨平台应用程序以打开一个 URL,该 URL 将作为参数传递到 android 中的默认浏览器中我已经使用以下代码实现了:

 { Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW,
TJnet_Uri.JavaClass.parse(StringToJString
('http://www.***.com'));
SharedActivity.startActivity(Intent); }

但在IOS中不知道如何在默认浏览器中打开一个URL,我搜索了数千个使用方法的页面但没有一个对我有帮助,如果你能帮助我,我将不胜感激!

最佳答案

这是我所做的快乐路径(不包括错误处理等)

uses
//...
IdURI,
{$IFDEF ANDROID}
Androidapi.Helpers, FMX.Helpers.Android, Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.App, Androidapi.JNI.Net, Androidapi.JNI.JavaTypes
{$ENDIF ANDROID}

{$IFDEF MSWINDOWS}
Winapi.ShellAPI, Winapi.Windows
{$ENDIF MSWINDOWS}

{$IFDEF IOS}
Macapi.Helpers, iOSapi.Foundation, FMX.Helpers.iOS
{$ENDIF IOS}
;

//...
procedure TForm1.launchBrowser();
var
myURL: string;
{$IFDEF ANDROID}
Intent: JIntent;
{$ENDIF ANDROID}

{$IFDEF IOS}
NSU: NSUrl;
{$ENDIF IOS}
begin
myURL := 'http://www.example.com';
{$IFDEF MSWINDOWS}
ShellExecute(0, 'OPEN', PChar(myURL), '', '', SW_SHOWNORMAL);
{$ENDIF MSWINDOWS}

{$IFDEF IOS}
NSU := StrToNSUrl(TIdURI.URLEncode(myURL));
if SharedApplication.canOpenURL(NSU) then
begin
SharedApplication.openUrl(NSU);
end;
{$ENDIF IOS}

{$IFDEF ANDROID}
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.setData(StrToJURI(myURL));
TAndroidHelper.Activity.startActivity(Intent);
{$ENDIF ANDROID}
end;

注意:“SharedActivity”已被弃用(至少在 10/Seatle 中)。替换似乎是“TAndroidHelper.Activity”

关于android - XE6 firemonkey IOS-DELPHI 打开网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26484766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com