Android 4.4.2 - java.lang.RuntimeException: Performing stop of activity that is not resumed
Solution 1:
That doesn't seem right to me. The splash activity would now be the top activity in the stack, so the HomeActivity
onStop lifecycle method would get called eventually. Coincidentally, I moved the startActivity
call for the splash activity from onCreate
to onResume
in the HomeActivity
, and the error goes away.
Solution 2:
This issue will still be present on all high-end phones with Android 4.4.2 and above including NEXUS 5 and Samsumg s4 since onResume gets called but it is still in animation stage.So if you try to start a activity in onResume the issue will replicate.
Put your switching activity in a handler delayed method.
Handler handler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
switch (msg.what) {
case 1:
//Start another Activity Here
default:
break;
}
return false;
}
});
And in onResume call this.
handler.sendEmptyMessageDelayed(1, 1000);
By that time you can show loader or something or block user Interaction
Solution 3:
I was getting this exception even when using onResume()
, so I ended up overriding onPostResume()
and starting activity from there, and the exception is gone. Not sure if this is an ideal solution, but still...
Solution 4:
Just call the onResume super method before launching the new activity:
super.onResume();