Обрабатывать существующий экземпляр корневого действия при повторном запуске корневого действия из фильтра намерений - PullRequest
5 голосов
/ 03 апреля 2010

У меня проблемы с обработкой нескольких экземпляров моей основной (основной) активности для моего приложения. Мое рассматриваемое приложение имеет фильтр намерений для запуска моего приложения при открытии привязки электронной почты из приложения «Электронная почта».

Моя проблема в том, что если я сначала запускаю свое приложение через экран приложений Android, а затем запускаю мое приложение, открывая вложение электронной почты, оно создает два экземпляра моей корневой активности.

шаги:

  1. Запустите корневую активность A, нажмите home
  2. Открыть вложение электронной почты, фильтр намерений запускает корневое действие A

Возможно ли при открытии вложения электронной почты, когда ОС пытается запустить мое приложение, оно обнаруживает, что уже запущен его экземпляр и использует его, или удаляет / очищает этот экземпляр?

1 Ответ

3 голосов
/ 03 апреля 2010

При отправке вашего собственного намерения вы можете указать, как запустить действие получения, указав флажки намерений (см. Поля Intent.FLAG *). Когда вас вызывают из совершенно другого действия, вы можете установить android: launchMode для вашего действия в манифесте.

...