Android 启动现有单任务活动时,活动场景转换不起作用

Android 启动现有单任务活动时,活动场景转换不起作用,android,android-activity,android-transitions,Android,Android Activity,Android Transitions,我正在将场景转换应用于活动。说明我有两个活动:main活动启动模式singleTask和nextractivity启动模式standard。它们有着相同的主题: <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowIsTranslucent">true</item> <item name="android:

我正在将场景转换应用于活动。说明我有两个活动:
main活动
启动模式
singleTask
nextractivity
启动模式
standard
。它们有着相同的主题:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
  • 在场景1之后,
    NextActivity
    通过
    finishAfterTransition()返回到
    main活动

  • 在场景1之后,
    nextractivity
    通过以下方式返回到
    MainActivity

    startActivity(Intent(this,NextActivity::class.java), ActivityOptions.makeSceneTransitionAnimation(this).toBundle())
    
    startActivity(Intent(this,MainActivity::class.java), ActivityOptions.makeSceneTransitionAnimation(this).toBundle())
    
  • 由于
    MainActivity
    处于
    singleTask
    启动模式,因此2和3应导致相同的任务堆栈行为:
    nextractivity
    完成,用户返回到
    MainActivity

    现在的问题是,在1和2中,转场正确播放,但在3中,转场未播放。详细地说,
    nextractivity
    保留默认动画(从屏幕上滑下),而
    MainActivity
    保持透明,墙纸可见,但不可撕下

    在向转换监听器添加一些
    println
    行之后,我发现在3中,
    nextractivity
    的退出转换已启动,但没有正确显示。并且,
    MainActivity
    的重新输入转换未启动

    这种奇怪行为的原因是什么

    为供参考,活动的代码(以Kotlin为单位)为