メイン アクティビティ (Main) と、Main から呼び出される別のアクティビティ (Sub) があります。
startActivityForResult(new Intent(this, SubActivity.class), 25);
Sub でプロセスを強制終了し (タスク マネージャーまたは を使用adb shell kill <pid>
)、アプリケーションを再度開くと、すぐに Sub に移動します。
Sub には、Main アクティビティにコールバックする次のコードがあります。
setResult(RESULT_OK, data);
finish();
プロセスを強制終了しなければ、requestCode (25)、resultCode (RESULT_OK)、およびデータを受け取っていたはずonActivityResult
です。ただし、この場合、メイン アクティビティに移動しますが、onActivityResult
呼び出されません。
これは Android の仕組みですか (私は期待していません)、それとも私のアプローチに何か問題がありますか?
更新: これは私の Nexus One、CyanogenMod 7.0.2、Android 2.3.3 で発生しました。エミュレータ API 10、Android 2.3.4 を使用してみましたが、期待どおりに動作onActivityResult
し、プロセスを強制終了した後も呼び出されます。