【问题标题】:Splash Screen making app crash启动画面使应用程序崩溃
【发布时间】:2016-07-14 21:00:49
【问题描述】:

我在我的应用程序中添加了启动画面,但这会使我的应用程序崩溃。这是启动画面显示的内容,但它不会启动我的 MainActivity。帮助伙计们。见我的清单..

<?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">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".Splash">
        <intent-filter>
            <action android:name="com.example.billeazy.SPLASH" />

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

【问题讨论】:

  • 如果您在发生崩溃时告诉我们发生了什么崩溃,这总是非常有帮助的。
  • 您的“Splash”活动必须是MAIN。
  • 这种做法是不受欢迎的,有关在 Android 上执行启动画面的正确方法,请参见此处:plus.google.com/+AndroidDevelopers/posts/Z1Wwainpjhd
  • @Stanojkovic 你是什么意思它需要成为主要的?
  • @Joseph Tatel 下面的 userJP 给出了一个很好的例子。

标签: android splash-screen


【解决方案1】:

您的“Splash”活动需要是 MAIN LAUNCHER 活动。所以像这样修改AndroidManifest文件...

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

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

几秒钟后跳转到 MainActivity..

Handler hadler=new Handler();
        hadler.postDelayed(new Runnable() {
            @Override
            public void run () {
                finish();
                Intent i = new Intent(context, MainActivity.class);
                startActivity(i);
            }
        }, 3000);

这里 3000 用于 3 秒。 MainActivity 在 3 秒后自动启动。 希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    相关资源
    最近更新 更多