Android 为什么我的overridePendingTransition不能在一个活动上工作

Android 为什么我的overridePendingTransition不能在一个活动上工作,android,android-activity,transition,activity-finish,Android,Android Activity,Transition,Activity Finish,我有一个非常奇怪的问题。这与overridePendingTransition仅在1个活动转换(按下后退按钮后)和Galaxy选项卡10.1上无法正常工作有关 情况是这样的。我有一个扩展活动的BaseActivity类。我使用它来添加一些脱离android默认设置的转换更改。 我重写finish()函数,如下所示: @Override public void finish() { super.finish(); Log.i(StaticValue

我有一个非常奇怪的问题。这与overridePendingTransition仅在1个活动转换(按下后退按钮后)和Galaxy选项卡10.1上无法正常工作有关

情况是这样的。我有一个扩展活动的BaseActivity类。我使用它来添加一些脱离android默认设置的转换更改。 我重写finish()函数,如下所示:

@Override 
    public void finish()
    {
        super.finish();
        Log.i(StaticValues.TAG, "Calling finish in ActivityBase");
        overridePendingTransition(getAnimationId("slide_in_right") ,getAnimationId("slide_out_right"));
    }
我必须使用getAnimationId,因为我使用的是unity,不能在右/左中使用R.anim.slide

此外,getAnimationId是下面的函数,适用于可能需要了解的任何人:

protected int getAnimationId(String animName)
{
    if(mResources == null)
    {
        mResources = this.getResources();
    }

    return mResources.getIdentifier(animName, "anim", mPackage);
}
现在奇怪的部分来了。这在我的nexus S手机上的主活动中调用基于ActivityBase的任何活动时都非常有效。在我的Galaxy Tab 10.1上调用两个活动(仅信息活动、网页链接等)时效果也很好,但在调用第三个活动(录音机)时,过渡正常(幻灯片),但退出时(通过调用finish或back按钮),方向似乎变为横向(标准主屏幕,因为这是一个平板电脑)然后加载主活动回到原来的方式

既然我给了你这方面的历史。有人能告诉我为什么这可能只发生在一个活动上,而只发生在平板电脑上

public void finish()
{
    removeUnsavedRecording();
    super.finish();

}

以上是我在“音频录制器”活动中重写的完成函数。

好的,我已修复了此错误,并以一种奇怪的方式进行了修复。我的“音频录制器”活动在测试阶段是一个启动程序类。出于某种原因,设备为此缓存了退出动画。(奇怪)。因此,我通过更改ActivityBase finish()来修复此问题方法重写为另外两个动画(有效),然后将它们更改回

因此,我唯一的选择是相信应用程序以某种方式缓存了此活动的默认动画(从它是启动程序活动时开始)。对此,没有任何其他解释