SplashScreen在android studio中不起作用

时间:2017-02-02 17:41:57

标签: android splash-screen

我正在使用android studio 2.2.3。我在我的程序中包含了一个启动画面。但它无法正常工作。启动画面活动没有显示。直接进入主页 清单文件

<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>

`

SplashScreen活动

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);
}
}

5 个答案:

答案 0 :(得分:1)

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

  

启动画面活动未显示

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

答案 1 :(得分:0)

您的主要活动清单条目应该是:

 <activity android:name=".MainActivity"/>

答案 2 :(得分:0)

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

将主要活动更改为默认

答案 3 :(得分:0)

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

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

<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>

答案 4 :(得分:-1)

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

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