У меня есть активность в моем приложении, которое можно открыть, благодаря уведомлению. Но содержание деятельности зависит от вида уведомления. Например: Если я получаю «уведомление», приложение запускает действие, и на этом отображается «полученное». Затем, если я получаю уведомление «b», приложение снова запускает действие и отображает «b получено». Проблема заключается в том, что когда действие уже было запущено один раз, когда уведомление «b» возобновляет его снова, активность все еще отображает «полученное». Как я могу заставить деятельность заново создать в зависимости от получаемого намерения?Принудительное возобновление активности Android
Я пробовал намерение.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); но это не работает.
Спасибо!
EDIT: После некоторых исследований я выяснил, что проблема с ожиданием была проблемой. Похоже, что намерение, переданное как параметр в PendingIntent.getActivity(ctx, 0, intent, 0)
, не обновлялось. Я только что добавил
intent.setAction(Long.toString(System.currentTimeMillis()));
и все работало как шарм.
Вы ничего не получаете в 'onNewIntent()', который вы можете использовать? Сколько экземпляров вашей «Деятельности» у вас есть? – gunar
Не знаю, сколько, это зависит от полученных уведомлений. –
Приведенные ниже ответы могут помочь вам: http://stackoverflow.com/a/3974828/1534762 http://stackoverflow.com/a/3419987/1534762 – Chandru