1. ホーム
  2. android

[解決済み] アクティビティが呼び出されているかどうか、結果を確認する

2023-05-03 16:27:23

質問

あるアクティビティが結果的に呼び出されたかどうかを知ることは可能でしょうか? startActivityForResult() を使うか、あるいは startActivity() ?

これを制御する必要があります。もし、resultのために呼ばれた場合、動作は異なります。

どのように解決するのですか?

によってアクティビティが開始された場合 startActivity() a getCallingActivity() メソッドは、ターゲットアクティビティで null .

から呼び出されたとき startActivityForResult() によって呼び出された場合、呼び出したアクティビティの名前を返します。

については Docs を参照してください。 getCallingActivity() :

このアクティビティを呼び出したアクティビティの名前を返します。これは にあるデータを誰が setResult() のデータが送られる相手です。この情報を使って この情報を使って、受信者がデータの受信を許可されているかどうかを検証することができます。 データを受け取ることができます。

注意:呼び出し元のアクティビティが結果を期待していない場合(つまり、そのアクティビティが を使用しなかった場合 startActivityForResult(Intent, int) というフォームを使わなかった場合 を使用しなかった場合)、呼び出し側のパッケージはnullになります。

を返します。

返信を受け取るアクティビティのComponentName、またはない場合はnull。