Уведомление панели состояния Android запускает новое приложение, хотя оно уже запущено. Как синхронизировать запуск приложения по значку приложения и уведомлению панели состояния? - PullRequest
7 голосов
/ 20 октября 2011

Я реализовал уведомление в рамках сервиса. Уведомление работает отлично. Но в случае, когда приложение уже запущено, и я нажал на уведомление в строке состояния Android, он запускает новую копию моего приложения. что явно неправильно. Это должно быть, если пользователь нажимает на уведомление в строке состояния, должно запускать приложение, если приложение еще не запущено, в противном случае оно должно открывать другие действия (в моем случае - активность сообщений). Я перепробовал много предложений, представленных в аналогичных проблемах, опубликованных здесь, но я не получил решения в моем случае.

Ответы [ 3 ]

2 голосов
/ 24 апреля 2012

Как насчет установки для launchMode значения SingleInstance в манифесте приложения.

Есть еще одна хитрость, которую я здесь уловил, - наличие особой активности NotificatonActivity, которую вызывает уведомление:

Уведомление о восстановлении задачи, а не конкретной операции?

0 голосов
/ 24 апреля 2015

Использование логического значения не является хорошим решением для этой проблемы. Для получения дополнительной информации, пожалуйста, посмотрите на время жизни приложения. Вместо этого вы должны изменить свой launchMode на singleTask или singleInstance в вашей целевой деятельности и получить свое намерение от метода onNewIntent () этой операции.

Но учтите, если вы вызываете super.onNewIntent (намерение); тогда будет создан второй экземпляр действия. Так что не звоните и делайте со своими намерениями все, что вы хотите.

0 голосов
/ 24 апреля 2012

Здесь мне удается уйти от этой проблемы. Прежде всего, я определил логическую переменную в входной активности или классе, которая расширяет приложение. я устанавливаю атрибут этой переменной true при запуске приложения и false при выходе из приложения. и я проверяю ту булеву переменную, для которой нужно открыть действие. в моем случае это решит проблему. может быть, это тоже помогает вашему делу. Сценарий может быть другим. удачи

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