about 3 years ago
Firemonkey 在 Android 中要開啟 URL 的方法只能從呼叫 Android API 來實現,有點像在 Windows 上要用 ShellExecute 一樣。
網路上幾乎都是Delphi的文件,只能說C++Builder這種新的資訊實在很少,都要先看懂Delphi然後參考其他程式碼才能寫 C++Builder 的版本。
#ifdef __ANDROID__
#include <Androidapi.JNI.GraphicsContentViewText.hpp>
#include <Androidapi.Helpers.hpp>
#endif
#ifdef __ANDROID__
_di_JIntent Intent =
TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW,
TJnet_Uri::JavaClass->parse(StringToJString("http://toby.logdown.com")));
SharedActivity()->startActivity(Intent);
#endif
效果預覽:
就這樣囉XD!
別怪我沒有解釋原理,畢竟我也是 Android 新手 programmer 啊!看來還有很長一段路(望)。
附上 Delphi 的寫法:
uses
Androidapi.JNI.JavaTypes, // StringToJString
FMX.Helpers.Android, // SharedActivity
Androidapi.JNI.GraphicsContentViewText; // TJIntent
var
Intent: JIntent;
begin
Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.setData(StrToJURI('http://toby.logdown.com'));
SharedActivity.startActivity(Intent);
end;
P.S. 程式碼片段請自行放到 function 內。
Ref: