|
|||
|
|
|
|
|
Intent |
||
|
|||
Biz/Browser HTから他のアプリに対しインテントを発行するためのクラスです。
インテントに格納される値やその値の解釈はインテントを受信したアプリごとに異なりますので、それぞれのアプリの資料をご参照ください。
また、インテントの種類によってはAndroidの制約により実行できないことがありますため、予めご確認の上ご使用ください。
CRSプログラムによるインテントの作成のほか、他のアプリからの戻り値を受け取った時に発生するイベントにもインテントが使用されます。
インテントとは、Android OSがサポートしている他のAndroidアプリと連携するための機構です。
この機構を使うことで他のアプリケーションに対し簡単にアクションを起こすことができます。
なお、Android SDKにおけるインテントはandroid.content.Intentクラスとして提供されています。
インテントは、大別すると「明示的インテント」と「暗黙的インテント」の二種類に分けられます。
明示的インテントは、起動する対象(アクティビティ)を直接指定して起動させるものです。
特定のアプリに対して密な連携を行う場合に使用されます。
その場合のインテントに与えるパラメータにつきましては対象となるアプリにより異なりますため、各アプリの開発者向け情報をご確認ください。
暗黙的インテントは、起動するアプリを指定せずに、URI形式で表現されるデータとそれに対するアクション(どのようなことを行いたいか)等の付加情報をパラメータとして持ち、そのパラメータの条件に一致したアプリを起動させることができます。
インテントを受け取る事ができる対象(アクティビティ)が複数存在する場合はユーザが起動するアクティビティを選択するダイアログが表示され、存在しない場合は起動に失敗します。
Biz/Browser HTではインテントのアクション(Actionプロパティに対応)、対象となるデータ(Dataプロパティに対応)をIntentクラスのコンストラクタかプロパティへの代入で指定します。
また、SetClassNameメソッドを呼び出すことで明示的インテントに、呼び出さない場合は暗黙的インテントにすることが可能です。
インテント(android.content.Intentクラス)に関する詳細な情報はAndroid Developers(Android開発者向けサイト)のリファレンスマニュアルをご参照ください。
CRSからExtra情報に値を格納する場合、また逆にExtra情報から値を取り出す場合、それぞれの言語のデータ型に変換が行われます。
CRSからExtra情報への値変換ルール
type引数に指定する定数 |
要求されるCRS型 |
変換後のJava型 |
---|---|---|
Intent.TYPE_BOOLEAN |
整数値 |
Javaのboolean型 (0またはnullならばfalse,そうでなければtrue) |
Intent.TYPE_BYTE |
整数値 |
Javaのbyte型 |
Intent.TYPE_CHAR |
整数値 |
Javaのchar型 |
Intent.TYPE_SHORT |
整数値 |
Javaのshort型 |
Intent.TYPE_INT |
整数値 |
Javaのint型 |
Intent.TYPE_LONG |
整数値 |
Javaのlong型 |
Intent.TYPE_FLOAT |
Numberオブジェクト |
Javaのfloat型 |
Intent.TYPE_DOUBLE |
Numberオブジェクト |
Javaのdouble型 |
Intent.TYPE_STRING |
Stringオブジェクト |
Javaのstring型 |
Intent.TYPE_BYTE_ARRAY |
ByteArrayオブジェクト |
Javaのbyte[]型 |
Intent.TYPE_STRING_ARRAY |
String配列 |
JavaのString[]型 |
Intent.TYPE_URI |
Stringオブジェクト |
Javaのandroid.net.Uri型 |
Intent.TYPE_PARCELABLE *1 |
ExternalObjectオブジェクト(android.os.Parcelable型) |
Javaのandroid.os.Parcelable 型 |
Intent.TYPE_SERIALIZABLE *1 |
ExternalObjectオブジェクト(java.io.Serializable型) |
Javaのjava.io.Serializable 型 |
Extra情報からCRSへの値変換ルール
type引数に指定する定数 |
要求されるJava型 |
変換後のCRS型 |
---|---|---|
Intent.TYPE_BOOLEAN |
Javaのboolean型 |
整数値 (trueならば1, falseならば0) |
Intent.TYPE_BYTE |
Javaのbyte型 |
整数値 |
Intent.TYPE_CHAR |
Javaのchar型 |
整数値 |
Intent.TYPE_SHORT |
Javaのshort型 |
整数値 |
Intent.TYPE_INT |
Javaのint型 |
整数値 |
Intent.TYPE_LONG |
Javaのlong型 |
整数値 (4byte符号付き整数が表現できる範囲に切り詰められます) |
Intent.TYPE_FLOAT |
Javaのfloat型 |
Numberオブジェクト |
Intent.TYPE_DOUBLE |
Javaのdouble型 |
Numberオブジェクト |
Intent.TYPE_STRING |
Javaのstring型 |
Stringオブジェクト |
Intent.TYPE_BYTE_ARRAY |
Javaのbyte[]型 |
ByteArrayオブジェクト |
Intent.TYPE_STRING_ARRAY |
JavaのString[]型 |
String配列 |
Intent.TYPE_URI |
Javaのandroid.net.Uri型 |
Stringオブジェクト |
Intent.TYPE_PARCELABLE *1 |
Javaのandroid.os.Parcelable 型 |
ExternalObjectオブジェクト(android.os.Parcelable型) |
Intent.TYPE_SERIALIZABLE *1 |
Javaのjava.io.Serializable 型 |
ExternalObjectオブジェクト(java.io.Serializable型) |
デフォルトプロパティはありません。ValueTypeの指定は無効です。
Biz/Browser VおよびBiz/Browser HTでは、ExternalObjectパッケージの利用はセキュリティレベルによって制限されています。ExternalObjectパッケージはセキュリティレベルを0に設定することで利用できます。
セキュリティレベル1以上では、Intentクラスをインスタンス化しようとしたときに例外が発生します。