Android - Splash屏幕快速闪烁,然后在某些平板电脑上立即变黑

时间:2015-11-16 16:09:10

标签: android themes manifest splash-screen

我目前正在开发一款带有启动画面的应用程序,出于某种原因,在某些平板电脑上(特别是在运行Android 4.2.1 Jelly Bean的华硕Transformer Pad Infinity TF700T上),启动画面快速闪烁然后立即启动黑色。

这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.pink.jazz"
    android:versionCode="100"
    android:versionName="1.0.0"
    >

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:largeHeap="true">
        <activity
            android:name="com.pink.jazz.SplashActivity"
            android:label="@string/app_name" 
            android:screenOrientation="landscape"
            android:launchMode="singleTask"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.pink.jazz.MainActivity"
            android:label="@string/app_name" 
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="landscape">
        </activity>
    </application>
</manifest>

以下是Splash活动的主题:

<style name="SplashTheme" parent="android:Theme.Holo.NoActionBar">
    <item name="android:windowBackground">@drawable/splash</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

这是我在splash活动和主要活动之间移动的代码(由onCreate调用):

void navigateToMainScreen() {
    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
            public void run() {
                Intent i = new Intent(SplashActivity.this, MainActivity.class);
                startActivity(i);
                finish();
                handler.removeCallbacks(this);
            }
        }, 2000);
    }
}

有谁知道我在这里做错了什么?

0 个答案:

没有答案