Я открываю из ActivityA ActivityB с общим переходом элемента. Это работает должным образом. Когда я нажимаю кнопку «Назад», общий элемент также работает правильно, и я вижу анимацию закрытия.
Но если я нажимаю кнопку "Домой" и после этого возвращаюсь в приложение (ActivityB), а после этого нажимаю "Назад" для перехода в ActivityA, то переход не работает.
Та же ситуация с тремя действиями.
ActivityA -(работа)-> ActivityB -(работа)-> ActivityC
после этого начинаю нажимать кнопку "Назад"
ActivityC -(работает)-> ActivityB -(НЕ РАБОТАЕТ)-> ActivityA
работа - это означает работу с общим элементом перехода, и я вижу анимацию
Для запуска Activity я использую
ActivityOptionsCompat options = ActivityOptionsCompat
.makeSceneTransitionAnimation(getActivity(), itemView, transitionName);
startActivity(intent, options.toBundle());
Попробуйте изменить манифест (НЕ РАБОТАЕТ)
android:name=".ActivityB"
android:launchMode="singleTask"
android:parentActivityName=".ActivityA"
Попробуйте сохранить общие элементы (НЕ РАБОТАЕТ)
setEnterSharedElementCallback(new SharedElementCallback() {
@Override
public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) {
if (names.size() > 0)
mSharedElementsNames.addAll(names);
else
names.addAll(mSharedElementsNames);
if (sharedElements.size() > 0)
mSharedElementsMap.putAll(sharedElements);
else
sharedElements.putAll(mSharedElementsMap);
}
});
Я заметил, что после сворачивания приложения onMapSharedElements() не вызывается при нажатии «Назад». В противном случае вызов происходит.
Я предполагаю, что вызов onStop() прерывает переход общего элемента. Но я не могу избежать этого. Любая помощь или идеи, пожалуйста