2つのアクティビティAAAとBBBがあります。私はstartActivityForResult(Intent、int)を使ってAAAからBBBを呼び出します。私がBBBでやった後、戻るボタンを押してAAAに戻ります。 BBBでは、onPause()をオーバーライドし、setResult(RESULT_OK)を使用して結果を設定します。戻るボタンを押したときにsetResult()を使用してonPause()に結果が設定されない
AAAでは、onActivityResult(int requestCode、int resultCode、インテントデータ)で結果をチェックし、RESULT_CANCELLEDを取得し続けます。
いつgoogle/stackoverflowで支出した後、onBackPressed()をオーバーライドしてその結果を設定すると、正常に動作することがわかりました。
実際にonBackPressed()の後にonPause()が呼び出されると、結果がonPause()に設定されないのはなぜですか?私はDevドキュメントのアクティビティフローを見てきましたが、そこに何が記述されているかについてはっきりしています。
誰でもこの動作についてのアイデアがありましたか、それとも良く説明できますか?
重複したhttp://stackoverflow.com/questions/2679250/setresult-does-not-work-when-back-button-pressed – pjv