Немного сложной проблемы для меня здесь:
У меня есть виджет на главном экране, который при нажатии на него запускает мое основное приложение Activity с несколькими дополнительными функциями, помещенными в намерение:
Intent start = new Intent(context, Main.class);
start.putExtra("action", "showXYZ");
start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(start);
Все это прекрасно работает, он начинает мою деятельность, и моя деятельность получает дополнительные услуги, как ожидалось. Он обрабатывает эти дополнительные функции и запускает другую деятельность.
Как только пользователь щелкнул виджет главного экрана и начал основное действие таким образом, переход в приложение с помощью метода "Недавние приложения" (удерживание клавиши "home" ) запускает основное действие с помощью дополнительных функций, вызывающих которую я не хочу (и приводя к открытию второго действия, а не к тому, чтобы основная активность просто отображалась).
Есть ли какая-нибудь работа для этого? При запуске приложения из метода "последние приложения" я хочу просто запустить основное действие без последнего набора дополнительных функций.
Большое спасибо за помощь! r3mo
Примечание. Я нахожусь на android 1.5
EDIT:
Обнаружено обходное решение: Android сохраняет кеширование моих намерений. Дополнительно, как объявить ожидающее намерение, которое содержит свежие дополнения?
Я собираюсь создать отметку о намерении, заданном виджетами, и проверить, что временная метка недавно находится в Main.java. Если это так, я продолжу обработку. Если нет, я просто покажу активность Main.java.
Ужасно слышать, есть ли официальные решения для этого.