简体   繁体   English

Android Studio的新手,启动画面错误

[英]New to Android Studio , Splash Screen Error

I am new to Android Studio and to the OS and have been designing an application, I tried to add a splash screen to my application after creating the splash screen and adding it to my manifest file but I keep getting this error: 我是Android Studio和OS的新手,并且一直在设计应用程序,在创建启动画面并将其添加到清单文件后,我试图向应用程序添加启动画面,但是我一直收到此错误:

Could not identify launch activity: Default Activity not found Error while Launching activity 无法识别启动活动:找不到默认活动启动活动时出错

The tutorial I followed to get the splash screen provides no insight to correcting this error. 我遵循的获取初始屏幕的教程无法更正此错误。

Below is my entire manifest file if someone could correct me I would be grateful. 以下是我的整个清单文件,如果有人可以纠正我,我将不胜感激。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="gui.prog">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name=".Display" ></activity>
        <activity android:name=".Signup" ></activity>
        <activity android:name=".Splash">
            <intent-filter>
                <action android:name="android.intent.category.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
</activity>
    </application>

</manifest>

Just copy paste file, 只需复制粘贴文件,

<?xml version="1.0" encoding="utf-8"?>

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

It will work, as currently it is unable to know which activity is initial one. 它将起作用,因为当前它不知道哪个活动是初始活动。

What I like to do for a 'SplashActivity' is set my 'MainActivity' as a regular activity, and set my 'SplashActivity' as the default activity that will begin on launch. 我想对“ SplashActivity”执行的操作是将“ MainActivity”设置为常规活动,并将“ SplashActivity”设置为将在启动时开始的默认活动。

My AndroidManifest.xml: 我的AndroidManifest.xml:

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

Then in my SplashActivity's 'onCreate' method: 然后在我的SplashActivity的'onCreate'方法中:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);
    Thread timerThread = new Thread(){
        public void run(){
            try{
                sleep(2000);
            }catch(InterruptedException e){
                e.printStackTrace();
            }finally{
                Intent intent = new Intent(SplashActivity.this, MainActivity.class);
                startActivity(intent);
            }
        }
    };
    timerThread.start();
}

如果要使用spalsh屏幕活动启动应用,则不能在android清单文件中放置两个意图过滤器,而必须将意图过滤器放入启动活动中

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM