Pending Intent не запускает Activity, если приложение уже открыто или находится в фоновом режиме. - PullRequest
0 голосов
/ 17 января 2019

В моем приложении у меня есть виджет. Если пользователь нажимает на виджет, я открываю SplashScreen, используя ожидающее намерение, используя приведенный ниже код.

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    views.setOnClickPendingIntent(R.id.widget_main_layout, pendingIntent);

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

Однако, если приложение уже открыто и находится в фоновом режиме, и если я нажимаю на виджет, то мой SplashScreen не открывается, и вместо этого только всплывает приложение.

Может кто-нибудь сообщить мне, что не так с моим кодом?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Установите флаг намерения, которое вы передаете ожидающему Activity:

Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK

0 голосов
/ 17 января 2019

Используйте этот код

intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);

...