C++Builder のメモ書き



#include <Androidapi.Helpers.hpp>
をincludeに記入する必要があります。


もしかしたら、さらに追記する必要があります。
#include <Androidapi.Helpers.hpp>
#include <Androidapi.JNI.JavaTypes.hpp>
#include <Androidapi.JNI.GraphicsContentViewText.hpp>
#include <Androidapi.JNIBridge.hpp>
#include <Androidapi.JNI.Provider.hpp>
上記のどれかです。試してください


他のアプリの起動
c++ Builder

Ex.1*******
   _di_JIntent Intent;
   _di_JPackageManager PM;  

   String appPName,clsName;
   appPName = "jp.naver.line.android";                        //LINEのPackageName
   clsName= "jp.naver.line.android.activity.SplashActivity";  //LINEのClassName

	Intent = TJIntent::JavaClass->init();
	Intent->setClassName(StringToJString(appPName),StringToJString(clsName));
	SharedActivity()->startActivity(Intent);


Ex.2*******
   _di_JIntent Intent;
   _di_JPackageManager PM;  

   String appPName;//パッケージ名
   appPName = "jp.naver.line.android";                        //LINEのPackageName

	Intent = TJIntent::JavaClass->init();

	PM = TAndroidHelper::Activity->getPackageManager();
	Intent =PM->getLaunchIntentForPackage(StringToJString(appPName));
	SharedActivity()->startActivity(Intent);




東京スカイツリー
Google MAP
c++ Builder

Ex.1*******
	_di_JIntent Intent;
	Intent =
		TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW,
		TJnet_Uri::JavaClass->parse(StringToJString("geo:35.710058,139.810718")));
	SharedActivity()->startActivity(Intent);

Ex.2*******
	_di_JIntent Intent;
	Intent = TJIntent::JavaClass->init();
	Intent->setAction(TJIntent::JavaClass->ACTION_VIEW);
	Intent->setData(StrToJURI("geo:35.710058,139.810718"));
	SharedActivity()->startActivity(Intent);

---
''Delphi''

var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
  Intent.setData(StrToJURI('geo:35.710058,139.810718'));
  SharedActivity.startActivity(Intent);
end;

ブラウザで開く
c++ Builder

#include <Androidapi.JNI.GraphicsContentViewText.hpp>
#include <Androidapi.Helpers.hpp>

Ex.1*******
	_di_JIntent Intent;
	Intent =
		TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW,
		TJnet_Uri::JavaClass->parse(StringToJString("http://www.memo.wiki")));
	SharedActivity()->startActivity(Intent);

Ex.2*******
	_di_JIntent Intent;
	Intent = TJIntent::JavaClass->init();
	Intent->setAction(TJIntent::JavaClass->ACTION_VIEW);
	Intent->setData(StrToJURI("http://www.memo.wiki"));
	SharedActivity()->startActivity(Intent);


---
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://www.gesource.jp/weblog/'));
  SharedActivity.startActivity(Intent);
end;


電話をかける
c++ Builder
call_phoneのパーミッション必須
	_di_JIntent Intent;
	Intent =
		TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_CALL,
		TJnet_Uri::JavaClass->parse(StringToJString("tel:117")));
	SharedActivity()->startActivity(Intent);

---
Delphi

var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(TJIntent.JavaClass.ACTION_DIAL);
  Intent.setData(StrToJURI('tel:117'));
  SharedActivity.startActivity(Intent);
end;


Androidの設定画面を開く
c++ Builder
	_di_JIntent Intent;
	Intent = TJIntent::JavaClass->init();
	Intent->setAction(StringToJString("android.settings.SETTINGS"));
	SharedActivity()->startActivity(Intent);

***
Delphi
var
  Intent: JIntent;
begin
  Intent := TJIntent.Create;
  Intent.setAction(StringToJString('android.settings.SETTINGS'));
  SharedActivity.startActivity(Intent);
end;












---
参考
Delphi XE5でAndoridのインテントを使ってアプリケーションを起動する
http://toby.logdown.com/posts/259326/c-builder-xe8...
指定したアプリを起動 ごろつきメモ

---

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

アクセスカウンター

メンバーのみ編集できます