Intereting Posts
Android-браузер обновляет страницу после выбора файла через элемент ввода Скрытие полосы прокрутки в WebView Получить основную учетную запись электронной почты телефона android Как получить сертификат отпечатка SHA-1 в Android Studio для режима отладки? Perfect unique_id для устройства, кроме IMEI, Android_ID, WLAN Mac и Bluetooth-адреса Как проверить данное доменное имя http или https в java? Повторное использование сеансов SSL в Android с HttpClient Не удается найти символ в Android Studio без восстановления проекта Странная ошибка в Eclipse Indigo Android ndk UnsatisfiedLinkError при использовании готовой общей библиотеки ViewPager of Fragment не показывает свое содержимое, когда корневой фрагмент заменяется снова Ошибка throwCompat throwing Что означает «Неудача » в Android Studio? Как установить несколько значений по умолчанию в MultiSelectListPreference? Почему обертывание содержимого в несколько строк TextView заполняет родительский?

Возобновите действие вместо запуска, если оно уже существует в фоновом стеке

У меня есть Activity_1 после многих шагов, скажем

Activity_2 > Activity_3 …. в некоторой Activity_n Я изменяю некоторые данные, относящиеся к Activity_1 и вызываю их, используя

 Intent intent = new Intent(Activity_n.this, Activity_1.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); 

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

Вместо этого я хочу, чтобы начальный Activity_1 's onResume() вызывался, используя приведенный выше код. Или соответствующий флаг

FLAG_ACTIVITY_CLEAR_TOP

Рассмотрите задачу, состоящую из действий: A, B, C, D. Если D вызывает startActivity () с намерением, который разрешает компонент активности B, то C и D будут завершены, а B получит заданное намерение, в результате чего Теперь стек состоит из: A, B.

Это то, что говорят документы, но не то, что я получаю.

Solutions Collecting From Web of "Возобновите действие вместо запуска, если оно уже существует в фоновом стеке"

Вы можете добавить две строки и попробовать

 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

Запишите это в свой файл манифеста внутри Activity

 <activity android:name=".SettingsActivity" android:launchMode="singleInstance" android:screenOrientation="portrait" > </activity> 

Действия «singleTask» и «singleInstance» могут только начинать задание. Они всегда находятся в корне стека активности. Кроме того, устройство может удерживать только один экземпляр активности за один раз – только одна такая задача.

Вы можете использовать SingleTask или SingleInstance

«SingleTask» – система создает активность в корне новой задачи и перенаправляет ее на нее. Однако, если экземпляр действия уже существует, система перенаправляет намерение на существующий экземпляр посредством вызова его метода onNewIntent (), а не создает новый.

«SingleInstance» – То же, что и «singleTask», за исключением того, что система не запускает никаких других действий в задачу, содержащую экземпляр. Деятельность всегда является единственным и единственным ее членом.

См. Эту ссылку http://developer.android.com/guide/topics/manifest/activity-element.html

 intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 

Посетите: http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT

Возобновить работу из backstack, если существует, или создать новую, если нет

 android:launchMode="singleTask" 

Добавьте эту строку в AndroidManifest.xml вашего приложения и начните ее с обычного Intent .