getIntent (). removeExtra () в Activity не работает для android: launchmode = "singleTask"? - PullRequest
1 голос
/ 17 сентября 2011

Я перезапускаю свою HomeActivity и настраиваю дополнительный «релакстатус» в Intent.В методе Activity onCreate () я проверяю это значение, если оно присутствует, отображается какое-то предупреждение.

Режим запуска для этого действия: android:launchmode="singleTask".

Проблема возникает после того, как пользователь видит это предупреждение изакройте его и снова закройте упражнение, нажав кнопку «Назад».Теперь, если он запускает его из списка недавних приложений долгим нажатием кнопки «Домой», то используется то же намерение, в котором было дополнительное «релевстстатус», и снова появляется предупреждение.

Это продолжается до тех пор, покапоскольку пользователь приходит из последних элементов (ОК, может быть, последние запускаемые приложения используют то же намерение, в котором был установлен дополнительный «релевстстат»).

Итак, я попытался удалить это лишнее, обработав нажатие BACK_KEY непосредственно перед тем, как действие завершится само собой, используя getIntent (). RemoveExtra ("relaunchstatus"), но это новое дополнение существует в новом запуске из Недавних элементов.

Однако это не тот случай, если я запускаю приложение из значка меню панели запуска.

Обновление : так что я думаю, что getIntent () Activity даст вам копию Intent, которая была запущенаэто, так что это не похоже на ссылку на тот же объект, на котором изменения будут постоянными.Если это так, то нам нужно будет сделать это из текущего графического интерфейса устройства (например, HTC Sense и т. Д.), Последние элементы которого связаны с этим намерением, что может быть невозможным?

Ответы [ 2 ]

2 голосов
/ 17 сентября 2011

Если режим запуска - singleTask и активность уже существует, чем вместо onCreate(), будет вызвано onNewIntent(..).

Так что вам нужно переопределить onNewIntent(..) и отметить Intent там.

0 голосов
/ 20 сентября 2011

Это не может быть изменено, фактически никакого намерения не существует согласно посту Дайан Хэкборн здесь: Группы Google Android

...