Не удается открыть Splash после выхода из приложения - PullRequest
0 голосов
/ 30 апреля 2018

Я работаю над приложением, в котором я хочу выйти из приложения onBackPressed. Я написал код для него, но проблема заключается в том, что, когда я нажимаю кнопку «Назад», мое приложение выходит и не очищается из ОЗУ, а когда я снова открываю приложение после выхода, оно открывается со второго экрана, а не из всплеска. В чем проблема?

Код:

moveTaskToBack(true);
android.os.Process.killProcess(android.os.Process.myPid());
finish();
System.exit(0);

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Поместите это в экранную заставку onCreate ().

 @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(R.layout.activity_splash_screen);

            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {

                            intent = new Intent(ActivitySplachScreen.this, MainActivity.class);  
                            intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                            startActivity(intent);
                            finish();
                }
            }, 3000);
        }

& activity_splash_screen is.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/splash"
    android:orientation="vertical">
</LinearLayout>
0 голосов
/ 30 апреля 2018

Лучший способ справиться с заставкой - это очистить стек от Intent. Так что вам не нужно убивать ваше приложение вручную

Intent intent = new Intent(splashActivity.this, SecondActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent);
finish();

Не забыли удалить ниже код

moveTaskToBack(true);
android.os.Process.killProcess(android.os.Process.myPid());
finish();
System.exit(0);
...