跨平台打开一个URL的方法
unit u_urlOpen; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, {$IF Defined(IOS)} macapi.helpers, iOSapi.Foundation, FMX.helpers.iOS; {$ELSEIF Defined(ANDROID)} Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.Net, Androidapi.JNI.App, Androidapi.helpers; {$ELSEIF Defined(MACOS)} Posix.Stdlib; {$ELSEIF Defined(MSWINDOWS)} Winapi.ShellAPI, Winapi.Windows; {$ENDIF} type tUrlOpen = class class procedure Open(URL: string); end; implementation class procedure tUrlOpen.Open(URL: string); {$IF Defined(ANDROID)} var Intent: JIntent; {$ENDIF} begin {$IF Defined(ANDROID)} Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setData(StrToJURI(URL)); tandroidhelper.Activity.startActivity(Intent); // SharedActivity.startActivity(Intent); {$ELSEIF Defined(MSWINDOWS)} ShellExecute(0, 'OPEN', PWideChar(URL), nil, nil, SW_SHOWNORMAL); {$ELSEIF Defined(IOS)} SharedApplication.OpenURL(StrToNSUrl(URL)); {$ELSEIF Defined(MACOS)} _system(PAnsiChar('open ' + AnsiString(URL))); {$ENDIF} end; end.