startActivityForResult()
を使用して結果に対して何らかのアクティビティが呼び出されたかどうか、またはstartActivity()
を使用してのみ開始されたかどうかを知ることは可能ですか?
これを制御する必要があります。結果が呼び出された場合、動作が異なります。
アクティビティがstartActivity()
によって開始されたとき、ターゲットアクティビティのgetCallingActivity()
メソッドはnull
を返します。
startActivityForResult()
によって呼び出されたとき、呼び出しアクティビティの名前を返します。
getCallingActivity()
のドキュメントを参照してください:
このアクティビティを呼び出したアクティビティの名前を返します。これは、
setResult()
のデータの送信先です。この情報を使用して、受信者がデータを受信できることを検証できます。注:呼び出しアクティビティが結果を予期していない場合(つまり、要求コードを含む
startActivityForResult(Intent, int)
フォームを使用しなかった場合)、呼び出しパッケージはnullになります。戻り値
返信を受け取るアクティビティのComponentName。ない場合はnull。