java.lang.RuntimeException: Performing stop of activity that is not resumed in android-ThrowExceptions

Exception or error:

I am working on a project for several days and its working fine. But today I ran my app in emulator app, is paused on splash screen not going to main activity and Its showing an error:-Performing stop of activity that is not resume and ava.lang.RuntimeException: Performing stop of activity that is not resumed

My SplashScreen.java:-

public class SplashScreen extends AppCompatActivity {

    private static int SPLASH_TIME_OUT = 3000;
    Boolean flag = false;
    public static Activity activity_splash;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.splash_screen);

    }
    public void onResume(){
        super.onResume();
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent i = new Intent(SplashScreen.this, MainActivity.class);
                startActivity(i);
                finish();
            }
        }, SPLASH_TIME_OUT);
    }

}

My Logcat:-

11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity}
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity}
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.-wrap20(ActivityThread.java)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.os.Handler.dispatchMessage(Handler.java:102)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.os.Looper.loop(Looper.java:148)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.main(ActivityThread.java:5417)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at java.lang.reflect.Method.invoke(Native Method)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    11-10 13:56:01.721 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity}
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity}
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.-wrap20(ActivityThread.java)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.os.Handler.dispatchMessage(Handler.java:102)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.os.Looper.loop(Looper.java:148)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.main(ActivityThread.java:5417)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at java.lang.reflect.Method.invoke(Native Method)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    11-10 13:56:04.262 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity}
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread: java.lang.RuntimeException: Performing stop of activity that is not resumed: {shoppingmazza.android.catalyst.com.shoppingmazza/shoppingmazza.android.catalyst.com.shoppingmazza.activity.MainActivity}
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3465)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3550)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.-wrap20(ActivityThread.java)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.os.Handler.dispatchMessage(Handler.java:102)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.os.Looper.loop(Looper.java:148)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at android.app.ActivityThread.main(ActivityThread.java:5417)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at java.lang.reflect.Method.invoke(Native Method)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    11-10 13:56:06.857 1995-1995/shoppingmazza.android.catalyst.com.shoppingmazza E/ActivityThread:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

MainActivity.java:-

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener {

        // flag for Internet connection status
        Boolean isInternetPresent = false;

        // Connection detector class
        ConnectionDetector cd;

        private static String TAG = MainActivity.class.getSimpleName();

        AlertDialogManager alert = new AlertDialogManager();

        // Session Manager Class
        UserSessionManager session;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            // Session class instance
            session = new UserSessionManager(getApplicationContext());
            Toolbar  mToolbar = (Toolbar) findViewById(R.id.toolbar);

            setSupportActionBar(mToolbar);
            getSupportActionBar().setTitle(null);
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setDisplayShowHomeEnabled(true);

            cd = new ConnectionDetector(getApplicationContext());

            isInternetPresent = cd.isConnectingToInternet();

            // check for Internet status
            if (isInternetPresent) {
                FragmentDrawer   drawerFragment = (FragmentDrawer)
                        getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer);
                drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar);
                drawerFragment.setDrawerListener(this);

                // display the first navigation drawer view on app launch
                displayView(0);
            }
            else {

                alert.showAlertDialog(MainActivity.this, "No Internet Connection",
                        "You don't have internet connection.", false);
            }

        }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.menu_main, menu);
            return true;
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch(item.getItemId()){
                case R.id.action_search:
                    Intent search = new Intent(MainActivity.this,SearchActivity.class);
                    startActivity(search);
                    return true;
                case R.id.login:
                    if(session.checkLogin())
                        finish();
                    else {
                            Intent intent = new Intent(MainActivity.this,MyAccount.class);
                                startActivity(intent);
                    }
                    return true;
                case R.id.my_order:
                    alert.showAlertDialog(MainActivity.this,"Alert","This Page Under Maintenance",false);
                    return true;
                case R.id.wishlist:
                    if(session.checkLogin()){
                        finish();
                    }
                    else {
                        Intent wishlistIntent = new Intent(MainActivity.this,WishList.class);
                        startActivity(wishlistIntent);
                    }

                default:
                    return super.onOptionsItemSelected(item);
            }
        }

        @Override
        public void onDrawerItemSelected(View view, int position) {
            displayView(position);
        }

        private void displayView(int position) {
            Fragment fragment = null;
            String title = getString(R.string.app_name);
            switch (position) {
                case 0:
                  /*  fragment = new HomeFragment();
                    title = getString(R.string.title_home);*/
                    Intent intentHome = new Intent(MainActivity.this,MainActivity.class);
                    startActivity(intentHome);
                    break;
                case 1:
                    Intent intent = new Intent(MainActivity.this,ShopByCategory.class);
                    startActivity(intent);

                    break;
                case 2:

                    break;
                case 3:
                   /* Intent intentTodayDeal = new Intent(MainActivity.this,TodayDeal.class);
                    startActivity(intentTodayDeal);*/
                    /*Intent intent = new Intent(MainActivity.this,ShopByCategory.class);
                    startActivity(intent);*/
                    break;
                case 4:
                    Intent intentTrackYourOrder = new Intent(MainActivity.this,MainActivity.class);
                    startActivity(intentTrackYourOrder);
                    break;
                case 5:
                    Intent intentLegal = new Intent(MainActivity.this,Legal.class);
                    startActivity(intentLegal);
                    break;
                case 6:
                    break;
                case 7:
                    break;
                case 8:
                    break;
                case 9:
                    break;
                default:
                    break;
            }

            if (fragment != null) {
                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.container_body, fragment);
                fragmentTransaction.commit();

                // set the toolbar title
                getSupportActionBar().setTitle(null);
                getSupportActionBar().setLogo(R.drawable.ic_launcher);
            }
        }

    }
How to solve:

In onCreate of the MainActivity, if there is internet access you will call displayView(0);. In displayView,

case 0:
     Intent intentHome = new Intent(MainActivity.this,MainActivity.class);
     startActivity(intentHome);
     break;

Here you start MainActivity again and thus the app is trapped in a infinite loop. Eventually it crashes.

###

The Splash is correct.
The problem is the Memory.

If the App has internet always calls displayView(0); that opens another activity of type MainActivity

 private void displayView(int position) {
            switch (position) {
                case 0: 
                    Intent intentHome = new Intent(MainActivity.this,MainActivity.class);
                    startActivity(intentHome);
                    break;

looping the intent until you get out of memory

enter image description here

To solve the problem, stop calling the same activity.

###

Try taking the finish() out of the handler and calling it in the onPause() of your Splash Activity.

That said if I was doing a splash screen I’d probably make it a part of my main screen layout and then just hide it after a given period of time. That way I don’t need the splash activity at all.

###

move this code from onResume() to onCreate() :

 new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent i = new Intent(SplashScreen.this, MainActivity.class);
                startActivity(i);
                finish();
            }
        }, SPLASH_TIME_OUT);

###

Try to put Logs here and there. I would put right after startActivity(i) to see if finish();is ever executed. It seems that you get into infinite loop in MainActivity onCreate() method. The onResume() of MainActivity is never done, so you get an exception.

###

Try to put the new Handler()…code block in onCreate() method.

###

Move post delay calling into onCreate().
Add check isResumed() before calling finish();

###

Rename your onResume() method to onStart()

public class SplashScreen extends AppCompatActivity {

private static int SPLASH_TIME_OUT = 3000;
Boolean flag = false;
public static Activity activity_splash;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.splash_screen);

}
public void onStart(){
    super.onResume();
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            Intent i = new Intent(SplashScreen.this, MainActivity.class);
            startActivity(i);
            finish();
        }
    }, SPLASH_TIME_OUT);
}

}

Leave a Reply

Your email address will not be published. Required fields are marked *