SplashScreen 在 android 工作室中不工作

SplashScreen is not working in android studio

我正在使用 android studio 2.2.3。我在我的 program.but 中加入了启动画面,但它无法正常工作。启动画面 activity 不显示。它直接进入主页。` 清单文件

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".SplashScreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

`

启动画面activity

import android.content.Intent;

import android.os.Handler;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

public class SplashScreen extends AppCompatActivity {

private final int SPLASH_DISPLAY_LENGTH = 3000;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash_screen);

    new Handler().postDelayed(new Runnable(){
        @Override
        public void run() {
            /* Create an Intent that will start the Menu-Activity. */
            Intent mainIntent = new Intent(SplashScreen.this,MainActivity.class);
            SplashScreen.this.startActivity(mainIntent);
            SplashScreen.this.finish();
        }
    }, SPLASH_DISPLAY_LENGTH);
}
}

如果您希望 SplashActivity 成为应用程序的入口点,请从 MainActivity 中删除 <intent-filter>

Splash screen activity does not showing

目前您的应用程序在启动器中有两个图标。您需要打开 SplashActivity 而不是 MainActivity

您的主要 activity 清单条目应该像:

 <activity android:name=".MainActivity"/>
 <activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

将主要 activity 更改为默认值

这段代码你已经写了两次了。 您可以将其从 MainActivity 部分中删除。它对我有用。

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

我知道这是不久前发布的,但从来没有真正的答案!

您需要做的不仅仅是删除:

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

但要把它们剪掉,然后将它们移动到另一个 <activity android:name=".Splash">

因此最终代码如下所示:

 <activity
        android:name=".MainActivity">
    </activity>
    <activity android:name=".Splash">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />

    </intent-filter>
    </activity>