Как запустить действие из уведомления на передний план? - PullRequest
0 голосов
/ 09 марта 2020

Цель: Моя цель - запустить действие Android на переднем плане, когда пользователь нажимает на уведомление. Если задача приложения открыта, то при нажатии на уведомление закрывается ящик уведомлений, и действие открывается на переднем плане, как и ожидалось.

Проблема: Если никакая задача приложения не открыта, однако после нажатия на уведомление ящик уведомлений остается на переднем плане, а действие открывается только в фоновом режиме.

Вопрос: Как сказать Android, чтобы закрыть ящик уведомлений и поместить открытое действие на передний план, независимо от того, открыло ли приложение задачи или нет?

Фрагмент кода:

val intent = Intent(context, SplashActivity::class.java)
intent.addFlags(
    Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_SINGLE_TOP
)
val pendingIntent = PendingIntent.getActivity(context, 0, intent, 0)
NotificationCompat.Builder(context, channelId)
    .build(title, text, icon, pendingIntent)

Ответы [ 2 ]

0 голосов
/ 09 марта 2020

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

Intent x = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);

sendBroadcast(x);
0 голосов
/ 09 марта 2020

Вы можете сделать это, используя PendingIntent.

Посмотрите, как в Начать действие с уведомления . Надеюсь, это поможет.

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