Переключение активности плавно, пока приложение находится в фоновом режиме - PullRequest
0 голосов
/ 04 июня 2018

У меня есть мероприятие A, которое прослушивает какое-то сообщение веб-сокета, когда оно получает определенное сообщение, оно переходит к действию B с помощью startActivity().

Все работает хорошо, когда приложение находится на переднем плане, но когдаэто на заднем плане, startActivity() заставит приложение автоматически выйти на передний план.

Как я могу "плавно" запустить startActivity () в фоновом режиме, не выводя приложение на передний план?

Ответы [ 4 ]

0 голосов
/ 04 июня 2018
0 голосов
/ 04 июня 2018

Это невозможно сделать напрямую, однако вы можете попробовать что-то вроде свертывания приложения, как только действие начнется.

В методе onCreate вашей деятельности используйте следующий оператор:

YourActivity.this.moveTaskToBack(true);

Конечно, вам нужно будет использовать некоторые флаги и дополнительные функции, чтобы предотвратить их минимизацию и в других случаях.

0 голосов
/ 04 июня 2018

Как сказал @Gabe, вы можете сделать это, установив флаг, так же, как мы открываем вход в систему или основное действие, проверяя объект пользователя в SharedPreference.

if(SharedPreference Message count > 0){
            startActivity(new Intent(this, YourChattingActivity.class));
        }

Также вам нужно будет установить количество сообщенийв SharedPreference.

0 голосов
/ 04 июня 2018

Вы не можете.Что вы можете сделать, это установить флаг, а затем в onResume вызвать startActivity для следующего действия, если флаг установлен.

Или использовать фрагменты вместо действий.

...