Я использую действие из сторонней библиотеки, в которой для android:noHistory установлено значение «true». Могу ли я переопределить это значение в коде перед запуском действия?
Есть ли противоположность флагу «FLAG_ACTIVITY_NO_HISTORY», который я мог бы использовать с намерением?
@VijaySinghChouhan Это первая ссылка, которую я проверил, но не смог найти ответ. Если вы нашли там ответ, не могли бы вы сообщить мне, чтобы я мог прочитать его еще раз более внимательно?
Ни один из которых мне не известен. Вы можете использовать FLAG_ACTIVITY_NO_HISTORY во время выполнения, когда это необходимо, и удалить его из манифеста. У намерения есть метод #removeFlags(из API 26). но я никогда не использовал его..
Если установлено, новое действие не сохраняется в стеке истории. Как только пользователь уходит от него, действие завершается. Это также можно установить с помощью атрибута noHistory.
Если установлено, onActivityResult() никогда не вызывается, когда текущая активность запускает новую активность, которая устанавливает результат и завершается.
https://developer.android.com/reference/android/content/Intent#FLAG_ACTIVITY_NO_HISTORY
Простое копирование и вставка. Но это не ответ.
Да, скопируйте/вставьте из документа. Потому что автор не предоставил подробной информации ;) Итак, теперь он может прочитать об этом.
I am using an activity from a third-party library that has set android:noHistory to "true".
Добавьте элемент <activity> в манифест вашего собственного приложения с атрибутом android:name, идентифицирующим активность, и с android:noHistory = "false". В рамках процесса слияния манифеста значение android:noHistory вашего приложения должно переопределять значение android:noHistory библиотеки.
В общем, переопределение записи манифеста библиотеки является несколько рискованным шагом, так как вы можете сломать что-то, от чего зависит библиотека. В данном конкретном случае он должен быть безопасным.
Мне также пришлось включить атрибут tools:replace = "android:noHistory" в мой элемент <activity>, чтобы он успешно объединился. Спасибо.
Прочтите это developer.android.com/reference/android/content/Intent