Наличие одного экземпляра активности
У меня проблема с навигацией по активности и задним стеком, и я надеялся, что вы сможете мне это выяснить.
Эта проблема
Корневая активность >>> SecondActivity >> Главная кнопка
Это тогда берет меня к домашней странице, и оттуда я выбираю ...
Gmail >> Сообщение >> Открыть вложение в моем приложении >> ImportActivity >> RootActivity
В результате запускается новая задача и используется другой экземпляр моего приложения. Это недопустимо, так как я неЯ не хочу, чтобы выполнялись две отдельные задачи. Я хочу только одну.
Желаемый результат
Я хочу, чтобы пользователь открыл вложение иImportActivity заканчивает то, что делает (имеетandroid:noHistory
установить в true) и звонки,startActivity(intent)
RootActivity
запускается, но сохраняет только один экземпляр и остальные действия поверх него в исходной задаче (в данном случаеSecondActivity
) удаляются.
Причина, по которой я этого хочу, заключается в том, что если пользователь выходит из моего приложения после импорта файла, а затем касается значка приложения, он загружает первую задачу своим задним стеком, и у меня выполняются две задачи, в которых пользователь может находиться в двух разных частях. мое заявление сразу.
Что я пробовал
Я поиграл с режимом запуска, но ни один из них на самом деле не дает мне ту функциональность, которая мне нужна.
Режимы запуска, которые я пробовал ..
Android: launchMode =»singleTask» - это просто снова запускало корневую активность при каждом запуске. Даже если пользователь нажал кнопку «Домой» внутри моего приложения и коснулся значка приложения, задний стек был уничтожен.
Android: launchMode =»SingleInstance = не делаетt разрешить запуск любых других активностей в задаче.
Также при вызове намерения начатьRootActivity
Я использовал следующее безрезультатно.
Intent i = new Intent(ImportActivity.this,TrackingActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
Можно ли делать то, что я хочу?
заранее спасибо