3 つのアクティビティを作成しました。アクティビティ A は結果のためにアクティビティ B を開始し、次にアクティビティ B は単にアクティビティ C を開始し、finish() を呼び出しました。起動後のアクティビティ C で、結果を A が必要とするものに設定し、自分自身で終了と呼びます。アクティビティ A の onActivityResult が呼び出されたので、答えは YES だと思います。実行できます。
これが私のサンプル活動
です。 活動 A:
public class MainTestActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_test);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
Intent in = new Intent(MainTestActivity.this, TestActivityB.class);
startActivityForResult(in, 101);
}
}, 2000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_test, menu);
return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Toast.makeText(this, "Got Intent", Toast.LENGTH_SHORT).show();
}
}
アクティビティ B:
public class TestActivityB extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_test);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
Intent in = new Intent(TestActivityB.this, TestActivityC.class);
startActivity(in);
finish();
}
}, 2000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_test, menu);
return true;
}
}
アクティビティ C:
public class TestActivityC extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_test);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
setResult(101);
finish();
}
}, 2000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_test, menu);
return true;
}
}