java - 如何仅在应用程序启动 "fresh"时显示启动画面?

标签 java android xml splash-screen

我只想在应用程序生命周期中显示一次启动画面。这是我的代码:

SplashScreenActivity.java:

final int welcomeScreenDisplay = 3000;

Thread welcomeThread = new Thread() {

    int wait = 0;

    @Override
    public void run() {
        try {
            super.run();

            while (wait < welcomeScreenDisplay) {
                sleep(1000);
                wait += 1000;
            }
        } catch (Exception e) {
            System.out.println("EXc=" + e);
        } finally {

            // Start other Activity
            startActivity(new Intent(SplashScreenActivity.this,
                    MainActiviey.class));
            finish();
        }
    }
};
welcomeThread.start();

list :

    <activity android:name=".SplashScreenActivity" android:label="test"
    android:noHistory="true"
        android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden|keyboard">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MainActiviey" android:label="test"
         android:screenOrientation="portrait"
        android:configChanges="orientation|keyboardHidden|keyboard">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

问题是如果我按硬件主页按钮隐藏应用程序并在应用程序列表中再次打开应用程序。它将再次显示初始屏幕(而不是显示 MainActivity)。 是否可以仅在应用程序“新鲜”启动时显示启动画面(不显示在 onresume() )?谢谢!

最佳答案

你不能对两个 Activity 有这个 Intent :

  <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

此外,如果您决定按照 Ash 的建议在其中启动另一个 Activity ,您可能希望从历史堆栈中隐藏启动画面。

您可以在您的 Activity 标签上使用此标志:

android:noHistory="true"  

关于java - 如何仅在应用程序启动 "fresh"时显示启动画面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682439/

相关文章:

sql - SQL中查询XML有LIKE子句吗

java - 有哪些可能的方法来存储登录详细信息以创建站点管理员?

android - 如何使用约束布局模仿加权 LinearLayout

xml - 为什么这个 raptor 代码解析 NTriples 而不是 RDFXML?

java - oracle 上的 hibernate 序列,@GeneratedValue(strategy = GenerationType.AUTO)

android - 如何检查 Android < 5.0 是否启用了节电模式?

java - 如何向 org.apache.wink 生成的 ATOM feed 添加处理指令

java - 在java中将xml解析为字符串以在sitemap.xml中给出优先级值

java - 有没有办法在 JTree 中为多个根添加扩展器图标?

java - 列联表