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();