C++Builder XE8 Firemonkey Android 開啟 URL 方式

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

效果預覽:
Imgur

就這樣囉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: