Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

java

android

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

    }
like image 271
Anand Jain Avatar asked Nov 10 '15 08:11

Anand Jain


3 Answers

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.

like image 151
shhp Avatar answered Sep 20 '22 08:09

shhp


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.

like image 41
alejandrocordon Avatar answered Sep 22 '22 08:09

alejandrocordon


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.

like image 34
mjstam Avatar answered Sep 20 '22 08:09

mjstam