У меня проблема с startActivity(intent) и onStop. Android API предлагает сохранять данные в onStop, что я и делаю:
public void onStop(){
super.onStop();
if(tosave)
{
Editor editor = sp.edit();
editor.putInt(getString(R.string.index_of_text_color), text_color_index);
editor.putInt(getString(R.string.index_of_background_color), background_color_index);
editor.commit();
}
}
Однако я хотел бы начать следующее действие после его сохранения, поэтому мне нужно использовать намерение и startActivity (намерение).
public void click(View v){
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
Мой вопрос: вызывает ли startActivity(intent) с двумя флагами метод onStop(), когда он завершает приложение, или мне нужно вызвать finish()? Разрешено ли мне вызывать finish() после того, как я начну новую деятельность? Или из-за того, что новая активность будет наверху, Android автоматически вызывает onStop, поскольку сейчас он находится в фоновом режиме?
Есть так много вопросов о том, как startActivity(intent) работает с циклом приложения, что я не понимаю. Будет полезно, если кто-то укажет мне ссылку.
Спасибо!
РЕДАКТИРОВАТЬ: цель не в onStop. Это другой метод, который соответствует кнопке. Как только кнопка будет нажата, мне нужно будет сохранить данные — перейти к остановке — и затем перейти к следующему действию. Как я могу это сделать?