带有壁纸标志的moveTaskToBack会导致Jelly Bean上的黑色闪烁

时间:2013-01-16 16:23:39

标签: android android-4.2-jelly-bean

我有一项活动设置为显示设备壁纸,即: 在 AndroidManifest.xml

<activity
    ...
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
>

在活动的OnCreate中:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER)

当我打电话

moveTaskToBack(true);

活动按预期消失,到目前为止一直很好 但是,当在Jelly Bean上运行它时,例如运行4.1.1的Galaxy S3,在moveTaskToBack之后的转换过程中会出现非常明显的黑色闪烁。只有在Home活动正好低于我的活动时才会发生闪烁。

通过我所描述的简单活动设置,该问题完全可以重现。

如果我改为使用finish(),则不会发生闪烁,但使用finish不是一种选择。在运行ICS的S3上也不会发生这种情况。

我怀疑这可能与壁纸的一些更新有关,或者可能与Project Butter的变化有关,但我没有想法。

如何在能够看到设备壁纸的同时摆脱这种闪烁,并且在我将其移出视野时不会破坏活动?

1 个答案:

答案 0 :(得分:0)

我刚刚遇到了与moveTaskToBack(true)相关的类似问题。这个API的行为在JellyBean和ICS上明显不同,但我找不到任何有用的文档。