![](/img/trans.png)
[英]TVertScrollBox in Delphi XE6 FireMonkey is very, very slow. Fix?
[英]Open URL in XE6 firemonkey IOS-DELPHI
早上好,
我正在嘗試為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”
uses Androidapi.Helpers;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var Intent: JIntent;
begin
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.setData(StrToJURI('http://www.website.com.br/index.php'));
SharedActivity.startActivity(Intent);
end;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.