У меня запущено два действия: mainActivity и childActivity . Всякий раз, когда пользователь нажимает кнопку в mainActivity , запускается childActivity . Что я хочу сделать, это:
Когда активным действием является childActivity , и пользователь нажимает кнопку «Домой», а затем повторно запускает приложение , я хочу вместо него увидеть childActivity mainActivity , которая запущена.
У меня были некоторые предложения, которые можно обойти. Я пытался манипулировать событиями onStart, onRestart, onResume, onStop, onDestroy. Но они не полностью решили проблему. Там должен быть умный выход. Спасибо.
Редактировать:
Спасибо за ответ, Сонил. Случай, который вы сказали, происходит, когда действие вызывается из окна недавних действий. (окно открывается при долгом нажатии кнопки домой) Однако; Этого не происходит, когда вы открываете его с домашнего экрана. (например, открытие с самого начала) Я не думаю, что в моем коде есть особая проблема для генерации этой ошибки Потому что я создал тестовый проект и попробовал автономно перед отправкой вопроса и столкнулся с той же проблемой. Во всяком случае, вот код теста:
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("MainActivity");
((Button) findViewById(R.id.btnChildActivity)).setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
startActivity(new Intent(this, ChildActivity.class));
}
}
public class ChildActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
this.setTitle("ChildActivity");
}
}