Package version 1
Android
StartActivityForResultメソッドで発行したインテントに対し、戻り値を受けた時に発生するイベントです。
ActivityResultイベントは以下の構造をもちます。
Event { Number ResultCode; /* インテントの戻り値が格納されます */ /* 追加の戻り値がある場合、下記オブジェクトが格納されます */ Intent ResultIntent; /* インテントの追加の戻り値が格納されます */ }
ResultCodeには一般的なアプリでは下記の値が格納されます。
なお、呼び出し先アプリによっては下記以外の値を格納することがありますため、詳細については呼び出し先アプリの仕様をご確認ください。
定数 |
値 |
説明 |
---|---|---|
Intent.RESULT_OK |
-1 |
操作が成功したことを表す値です |
Intent.RESULT_CANCEL |
0 |
操作がキャンセルされたことを表す値です |
インテントに追加の戻り値が存在する場合、ResultIntentオブジェクトがイベントの子オブジェクトとして追加されます。
追加の戻り値の有無やどのような値が格納されているかについては呼び出し先アプリによって異なりますため、詳細については呼び出し先アプリの仕様をご確認ください。
本オブジェクトが存在するかの確認にはObject.FindObjectメソッドをお使いください。
ActivityResultイベントは呼び出し先アプリが適切な戻り値を返した場合に発生します。
そのため、呼び出し先アプリが値を返さなかったり強制終了したりした場合、イベントが発生しない可能性があります。
よって、ActivityResultイベントが確実に起こることを前提としたコードは記述しないようご注意ください。
Intentオブジェクトがオブジェクトツリーに含まれない場合は、イベントハンドラの記述には注意が必要です。
オブジェクトツリーに含まれないオブジェクトから他のオブジェクトを参照する場合、グローバルオブジェクト、"//"からの絶対パス、自オブジェクトの子オブジェクトのみ、参照できます。
オブジェクトツリーに含まれない記述例
var i = new Intent { Function OnActivityResult(e) { /* Intentオブジェクトはオブジェクトツリーに含まれないため */ /* ここでは相対パスによる他のオブジェクトの参照はできない */ } } /* …インテントに適切な値を設定… */ i.StartActivityForResult();
オブジェクトツリーに含まれる記述例
Intent i { Function OnActivityResult(e) { /* Intentオブジェクトはオブジェクトツリーに含まれるため */ /* ここでも相対パスによる他のオブジェクトの参照ができるが */ /* 使用後に削除しない限り永続的にオブジェクトが残る */ } } /* …インテントに適切な値を設定… */ i.StartActivityForResult();