Android API level 16 で追加されたメソッドその2
public void startIntentSenderForResult(IntentSender intent, int requestCode, Intent fillInintent, int flagsMask, int flagsValues , int extraFlags, Bundle options)
startActivityForResult(Intent,int)に似てるけど
起動するActivityを記述するために
IntentSenderを使うことができる
IntentSenderがActivityのためなら
startActivityForResult(Intent,int)の呼び出しのように
そのActivityが開始される
それ以外なら
IntentSender.sendIntentを呼び出すように関連付けられたアクション
例えばBroadcastなどが実行される
IntentSender.SendIntentExceptionがスローされる
引数のintentは、起動するためのIntentSender
requestCodeは、0以上ならActivityが終了する際に
startActivityForResult(Intent,int)で説明されている
onActivityResult()内で返される値
fillInIntentは、nullでないなら、Intentのparameterとして
sendIntent(Context,int,Intent,IntentSender.OnFinished,Handler)
に提供される
flagsMaskは、変更したいオリジナルのIntentSenderにあるIntentFlag
flagsValuesは
flagsMaskに設定されている任意のビットの変更したい値
extraFlagsは、常に0
optionsは、どのようにActivityを開始するべきかを示す追加オプション
もし、オプションもIntentSenderにより与えられている場合、上書きされる
public void startIntentSenderFromChild(Activity child, IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)
startActivityFromChild(Activity,Intent,int,)に似てるけど
こっちは、IntentSenderを取り入れている
IntentSender.SendIntentExceptionをスローする
public boolean startNextMatchingActivity(Intent intent, Bundle options)
他のActivityのコンポーネント置き換えて使うときに、Activityを開始する特別なバージョン
Intentを扱う次のActivityへIntentを手渡すのに使う
通常は、getIntent()で返されるIntentを使い
onCreate(Bundle)の中でこのメソッドを呼び出す
引数のintentは、次のActivityにdispatchするIntent
正しい動作のために、Activityを開始したIntentと同じであること
変更は、そのなかのExtraにある
optionsは、どのようにActivityが開始されるかを示す追加オプション
戻り値は、開始するためのActivityがあるかどうかを示すプール値
開始するための次のActivityがあればtrue
なければfalse
trueなら、その後finish()を呼び出す必要がある