Итак, у меня есть два занятия. Основной называется Main , а дочерний называется Child . При нажатии кнопки в основном действии запускается следующий фрагмент кода:
Intent i = new Intent(Main.this, Child.class);
Main.this.startActivity(i);
Это открывает действие Child .
Как только я вызываю finish () или нажимаю кнопку возврата в дочернем действии вместо возврата к основному, приложение просто закрывается. Можете ли вы дать мне подсказку, где может быть проблема: (
P.S. Методом проб и ошибок я обнаружил, что если отредактировать AndroidManifest.xml и добавить
android:theme="@android:style/Theme.Dialog"
в объявлении Child Кнопка "Назад" и вызов finish () ведут себя как положено: закрывает дочернюю активность и фокусирует основное. Проблема в том, что когда я начинаю набирать EditText , экран начинает мигать (скорее странно). Поэтому я не могу использовать это как диалог. Мое основное занятие - использование камеры, поэтому могут возникнуть проблемы. Хотя при запуске дочернего действия происходит событие onPause , и оно останавливает камеру до тех пор, пока не будет вызван onResume .
Edit:
Поэтому я попытался использовать startActivityForResult и добавил
Toast.makeText(this, "onPause", Toast.LENGTH_SHORT).show();
для onPause и аналогично onResume методам. Когда Child возвращает , onResume не запускается. Я даже переопределил onActivityResult , и даже это не срабатывает. :( Так странно ...
Я думаю, что нашел проблему, но сам не могу ее решить
Когда активируется действие Child , onStop и сразу после этого onDestroy вызываются в рамках действия Main . Но почему?!?