Подтвердить что ты не робот

Java.lang.RuntimeException: выполнение остановки активности, которая не возобновляется в android

Я работаю над проектом в течение нескольких дней и отлично работаю. Но сегодня я запустил приложение в эмуляторе, приостановлено на экране всплеска, не идущего на главную активность, и показывая ошибку: - Performing stop of activity that is not resume и 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);
            }
        }

    }
4b9b3361

Ответ 1

В onCreate MainActivity, если есть доступ в Интернет, вы вызываете displayView(0);. В displayView,

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

Здесь вы снова запускаете MainActivity и, таким образом, приложение попадает в бесконечный цикл. В конце концов он сработает.

Ответ 2

Всплеск правилен. Проблема в том, что память.

Если в приложении есть Интернет, всегда вызывает displayView(0);, который открывает другое действие типа MainActivity

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

зацикливание намерения, пока вы не потеряете память

введите описание изображения здесь

Чтобы решить проблему, прекратите вызывать одно и то же действие.

Ответ 3

Попробуйте поставить журналы здесь и там. Я бы поставил сразу после startActivity(i), чтобы увидеть, выполняется ли finish();. Кажется, что вы попадаете в бесконечный цикл в метод MainActivity onCreate(). onResume() MainActivity никогда не выполняется, поэтому вы получаете исключение.

Ответ 4

Попробуйте вывести финиш() из обработчика и вызвать его в onPause() вашей активности Splash.

Если бы я сделал заставку, я бы, вероятно, сделал ее частью моего основного экрана, а затем просто спрятал ее через определенный промежуток времени. Таким образом, мне не нужна всплеск активности вообще.

Ответ 5

Попробуйте поместить новый блок кода обработчика()... в метод onCreate().

Ответ 6

переместите этот код с onResume() на onCreate():

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

Ответ 7

Переместить оповещение о задержке вызова в onCreate(). Добавить check isResumed() перед вызовом finish();

Ответ 8

Переименуйте свой метод onResume() в 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);
}

}