【问题标题】:New to Android Studio , Splash Screen ErrorAndroid Studio 新手,闪屏错误
【发布时间】:2017-04-24 20:05:13
【问题描述】:

我是 Android Studio 和操作系统的新手,并且一直在设计应用程序,我尝试在创建初始屏幕并将其添加到清单文件后向我的应用程序添加初始屏幕,但我不断收到此错误:

无法识别启动活动:未找到默认活动错误 在启动活动时

我遵循的获取初始屏幕的教程没有提供更正此错误的见解。

以下是我的完整清单文件,如果有人能纠正我,我将不胜感激。

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

【问题讨论】:

  • 使用了错误的意图过滤器,在splash活动下使用它

标签: java android android-studio splash-screen


【解决方案1】:

只需复制粘贴文件,

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

它将起作用,因为目前它无法知道哪个活动是初始活动。

【讨论】:

    【解决方案2】:

    我喜欢为“SplashActivity”做的是将“MainActivity”设置为常规活动,并将“SplashActivity”设置为将在启动时开始的默认活动。

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

    然后在我的 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();
    }
    

    【讨论】:

    • 你我的朋友是救生员解决了我的问题,非常感谢!
    【解决方案3】:

    如果你想启动带有spalsh屏幕活动的应用程序,你不能在android清单文件中放置两个意图过滤器,你必须将意图过滤器放在启动活动中

    【讨论】:

      猜你喜欢
      • 2018-07-14
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-20
      • 2020-01-19
      • 2015-12-22
      • 2015-12-09
      相关资源
      最近更新 更多