So I have two Activities. The main is called Main, and the child one is called Child. When a button is clicked in the main activity it triggers the following piece of code:
Intent i = new Intent(Main.this, Child.class);
Main.this.startActivity(i);
That opens the Child activity.
As soon as I call finish() or press the back button within the child activity instead of going back to the main one, the app just closes. Can you give me a hint where the problem might be :(
P.S. By trial and error I found out that if edit AndroidManifest.xml and add
android:theme="@android:style/Theme.Dialog"
within the declaration of Child the back button and calling finish() behaves as expected: closes the child activity and brings the main into focus. The problem is that when I start typing in an EditText the screen starts flickering (rather bizzare). So I can't use it as a dialog. My main activity uses the camera, so that might be making problems. Although when the child activity is started, the onPause event is fired and it stops the camera until onResume is called.
Edit:
So I tried using startActivityForResult and added
Toast.makeText(this, "onPause", Toast.LENGTH_SHORT).show();
to the onPause and a similar one to the onResume methods. When the Child returns onResume doesn't get triggered. I even overrided onActivityResult and even that doesn't get triggered. :( So bizarre...
I think I found the problem but I can't solve it myself
When the Child activity is activated, onStop and immediately after that onDestroy are invoked within the Main activity. But why?!?