次のように、Activity クラスの onActivityResult メソッドを使用できます。
アクティビティ 1 で、次のコードを使用してアクティビティ 2 を開始します。
Intent intent = new Intent(this, Activity2.class);
startActivityForResult(intent, 0);
アクティビティ 1 では、次のように onActivityResult メソッドをオーバーライドします。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0 && resultCode == 20) {
// Activity 2 is finish, so finish activity 1
finish();
}
}
アクティビティ 2 では、次のことを行います。
Intent intent = new Intent(this, Activity3.class);
startActivityForResult(intent, 0);
そしてこれで:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0 && resultCode == 20) {
// Activity 3 is finish, so finish activity 2
setResult(20);
finish();
}
}
アクティビティ 3 で、ユーザーがフォームを送信するときに、以下のコードを使用します。
Intent intent = new Intent(this, Home.class);
startActivity(intent);
setResult(20);
finish();
PS : getApplicationContext() ではなく、「this」または「Activity1.this」を使用することをお勧めします。
乾杯、セバスチャン