Остановить активность вывести на передний план автоматически - PullRequest
0 голосов
/ 10 марта 2019

У меня есть приложение для Android.В том есть заставка и домашний экран.Когда я нажимаю (всплывающая страница) приложение переходит в фоновый режим, но через некоторое время оно автоматически выводится на передний план с домашней страницей.Как я могу решить это?

Всплеск

Intent in = new Intent(SplashActivity.this,
          HomeActivity.class);
          startActivity(in);
          overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.slide_out_to_top);
          finish();

Ответы [ 3 ]

1 голос
/ 10 марта 2019

вы можете использовать такие флаги как:

Intent intent = new Intent(SplashActivity.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent); 

Intent.FLAG_ACTIVITY_CLEAR_TOP Очищает стек активности.

и если вы хотите начать занятие по истечении определенного периода времени, вы можете сделать это следующим образом:

new Timer().schedule(new TimerTask(){
        public void run() { 
         SplashActivity.this.runOnUiThread(new Runnable() {
            public void run() {
            Intent intent = new Intent(SplashActivity.this,HomeActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
          }
        });
       }
    }, 2000);
0 голосов
/ 11 марта 2019

Чтобы предотвратить это, вы должны определить, была ли SplashActivity приостановлена ​​ДО начала MainActivity.Я предполагаю, что ваш SplashActivity выполняет некоторую обработку перед запуском MainActivity.Вы должны быть в состоянии предотвратить это, позвонив finish() в onPause(), если onPause() вызывается ДО того, как вы начнете MainActivity.

0 голосов
/ 10 марта 2019

Я думаю, что вы хотите автоматически открыть домашнюю страницу через несколько секунд из splashScreen.Вы можете использовать Handler для этой цели, вот код:

   private static int SPLASH_TIME_OUT = 1500; // change the time according to your need

  new Handler().postDelayed(new Runnable() {


        /*
         * Showing splash screen with a timer. This will be useful when you
         * want to show case your app logo / company
         */

        @Override
        public void run() {

            // This method will be executed once the timer is over


                //open Activity when internet is connected


                    Intent intent = new Intent(Splash Activity.this, HomeActivity.class);
                    startActivity(intent);

                finish();

        }
    }, SPLASH_TIME_OUT);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...