Android: Как избежать, чтобы нажатие на Notification назвало onCreate ()

В моем приложении я уведомляю пользователя с уведомлениями, если что-то специальное происходит:

public void triggerNotification(String msg) {
        notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        Intent contentIntent = new Intent(this, ABC.class);
        Notification notification = new Notification(R.drawable.icon, msg, System.currentTimeMillis());
        notification.setLatestEventInfo(this, "ABC", msg, PendingIntent.getActivity(this.getBaseContext(), 0, contentIntent, PendingIntent.FLAG_CANCEL_CURRENT));
        notification.flags = Notification.FLAG_AUTO_CANCEL;
        notificationManager.notify(notificationCounter, notification);
        notificationCounter++;
}

Если пользователь нажимает на Уведомление, onCreate (), метод называют. Но я хочу это, определенный метод в моем приложении называют, или если приложение не находится на переднем плане, что это возвращено переднему плану.

Я знаю, что существует много учебных руководств, которые объясняют, как обработать уведомления, но я просто не понимаю их полностью, и никогда не смог реализовать вещи как, я хотел бы.

17
задан 31 July 2010 в 13:00
поделиться

1 ответ

Чтобы вывести ваше приложение на передний план, если оно уже запущено, вам нужно установить разные флаги для вашего намерения:

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

Для запуска определенного метода вы можете просто передать дополнительную информацию вместе с намерением и интерпретировать ее в своем приложении для решить, какой метод запустить.

16
ответ дан 30 November 2019 в 13:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: