Спасибо за предложение. Я только что попробовал это в Main.java (который запускается виджетом), и это, похоже, не имеет никакого значения. Разве это не просто очистка локальной переменной «extras»? Я полагаю, что проблема заключается в том, как Android запускает действие «недавнее приложение» с последним переданным ему дополнением.

го смущающей проблемы для меня здесь:

У меня есть виджет на главном экране, который при нажатии запускает мое основное приложение Activity с несколькими добавками, добавленными в намерение:

Intent start = new Intent(context, Main.class);
start.putExtra("action", "showXYZ");
start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(start);

Это все работает нормально, это начинает мою деятельность, и моя активность получает дополнения, как и ожидалось. Он обрабатывает эти дополнения и начинает другую деятельность.

После того, как пользователь щелкнул виджет главного экрана и запустил основное действие таким образом, вход в приложение с помощью метода «Недавние приложения» (удерживая нажатой клавишу «Домой») запускает основное действие с дополнительными функциями, что приводит к обработке что я не хочу (и приводит к открытию второго действия, а не к тому, чтобы просто было показано основное действие).

Есть ли обходной путь для этого? При запуске приложения методом «недавних приложений» я хочу просто запустить основное действие без последнего набора дополнений.

Большое спасибо за помощь! r3mo

Примечание: я на андроиде 1.5

РЕДАКТИРОВАТЬ:

Нашел обходной путь здесь:Android продолжает кешировать мои намерения Дополнения, как объявить ожидающее намерение, которое сохраняет свежие дополнения?

Я собираюсь поставить метку времени, предназначенную для виджета, и проверить, что метка времени недавно появилась в Main.java. Если это так, я продолжу обработку. Если нет, я просто покажу активность Main.java.

Хотелось бы узнать, есть ли официальные решения для этого.

Ответы на вопрос(3)

Ваш ответ на вопрос