Intent.FLAG_ACTIVITY_NEW_TASK |时如何避免黑屏设置了Intent.FLAG_ACTIVITY_CLEAR_TASK?

时间:2015-07-07 09:01:36

标签: android android-intent

在我的Android应用程序中,我需要使用Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK来设置我的意图标记。我可以删除以前的所有Activities并以这种方式开始新的Activity。这是我的代码:

Intent intent = new Intent(Gerenxinxi.this, MainPart.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
overridePendingTransition(0,0);

然而,当我使用上面的代码时,我发现了黑屏的闪烁。如果我没有用Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK设置意图标记,黑屏的闪烁就会消失。我的问题是:设置Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK时我该怎么做才能避免出现黑屏?

在我写下这个问题之前,我发现有人有类似的问题。这是link然而,这个问题的答案无法解决我的问题。所以我再问这个问题。我希望任何人都可以帮助我。谢谢。

4 个答案:

答案 0 :(得分:22)

您看到的这个初始屏幕称为"预览"屏幕。您可以通过在主题中声明这一点来完全禁用它:

android:windowDisablePreview

<style name="Theme.MyTheme" parent="android:style/Theme.Holo">
    <!-- This disables the black preview screen -->
    <item name="android:windowDisablePreview">true</item>
</style>

答案 1 :(得分:0)

我发现它只有一个解决方案,而不是显示黑屏显示应用程序主题背景。在我的情况下它的白色

     <application

            android:name="com.my.MyApplication"

            android:allowBackup="true"

            android:icon="@drawable/launcher"

            android:label="@string/app_name"

            android:theme="@style/Theme.MyTheme”>


   <style name="Theme.MyTheme" parent="android:style/Theme.Holo">
        <!-- This disables the black preview screen -->
        <item name="android:windowDisablePreview">true</item>
    </style>

答案 2 :(得分:0)

试试这个

Intent intent = new Intent(Gerenxinxi.this, MainPart.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();

答案 3 :(得分:0)

以您的风格添加此行

android:windowDisablePreview = true.