これは別の投稿と似ていますが、それは決して本当に答えられませんでした。ネストされたstartActivityForResult()は前のアクティビティに戻りません
アクティビティを使用し、フラグメントではなく、アクティビティグループ またはタブを使用していません。
マイMainActivityは後でstartActivityForResult、 でDialogActivityを呼び出しますが、ときDialogActivityが終了し、setResultを使用し、LocationActivityでonActivityResultが呼ばれることはありません を終えたstartActivityForResult でLocationActivityを呼び出し、それが戻ってMainActivityでonActivityResultに すべての道を行きます。
すべてのアクティビティのプロパティは「空白」で、noHistoryはデフォルトではfalseです。
(MainActivity)
Intent intent = new Intent(getApplicationContext(), LocationActivity.class);
startActivityForResult(intent, Constants.LOCATION_ACTIVITY);
@Override
protected void onActivityResult(int iRequestCode, int iResultCode, Intent intentData)
{
super.onActivityResult(iRequestCode, iResultCode, intentData);
}
(LocationActivity)
Intent intent = new Intent(getApplicationContext(), DialogActivity.class);
startActivityForResult(intent, Constants.DIALOG_ACTIVITY);
@Override
protected void onActivityResult(int iRequestCode, int iResultCode, Intent intentData)
{
super.onActivityResult(iRequestCode, iResultCode, intentData);
}
(DialogActivity)
Intent intent = new Intent();
setResult(Activity.RESULT_OK, intent);
finish();
それでは、私はDialogActivityが終了した後に呼び出さするLocationActivity でonActivityResultを取得するために変更しなければならないのではなく、MainActivityでonActivityResult ?そして、LocationActivityを終了した後、私は のために、MainActivityのonActivityResultが最終的に呼び出されるようにしたいと思います。
ありがとうございます!
これらのアクティビティ宣言をマニフェストから追加できますか? – Asimaruk
あなたはこのディスカッションを見ましたか? http://stackoverflow.com/questions/9689001/activity-started-with-startactivityforresult-not-returning-to-calling-activity?rq=1 –
はい、私はやりました。コンテキストを変更して、アクティビティ名を使用するようにしましたが、動作しませんでした。noHistoryを使用するように設定されたアクティビティプロパティはありません。 – user1572522