2017-07-01 14 views
1

私のAndroidアプリケーション用に2つのスプラッシュ画面を作りたいと思います。 2番目のスプラッシュ画面のみが表示されますが、最初のスプラッシュ画面は表示されません。できることをしようとしていますか?ここに私の目録があります。複数のスプラッシュ画面を正しく実行するには

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

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

</manifest> 

、ここで最初のスプラッシュ画面

......... 
     new Handler().postDelayed(new Runnable() { 

      @Override 
      public void run() { 

       Intent i = new Intent(SplashActivity1.this, 
    SplashActivity2.class); 
       startActivity(i); 

       // close this activity 
       finish(); 
      } 
     }, SPLASH_TIME_OUT); 
    } 

及び第二のスプラッシュ画面

.................. 
     new Handler().postDelayed(new Runnable() { 


      @Override 
      public void run() { 
      Intent i = new Intent(SplashActivity2.this, MainActivity.class); 
       startActivity(i); 

       // close this activity 
       finish(); 
      } 
     }, SPLASH_TIME_OUT); 

    } 
+0

新しいスプラッシュアクティビティを作成し、代わりの最初のスプラッシュでMainActivtyへの意図をやって2番目のスプラッシュを意図し、最後に2番目のスプラッシュからMainActivityへと向かう –

+0

私はそれを行いました。それをした後、私のアプリは実行を拒否する – Benfight

答えて

1

のための私のコードは次のコードのようにスプラッシュスクリーン2の活動からインテントフィルタを削除しています。他のものは大丈夫です。

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

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

      </activity> 
     </application> 

    </manifest> 
+0

をしなかった。 「アプリの実行中にエラーが発生しました。デフォルトのアクティビティが見つかりません」と表示されます。 – Benfight

+0

タグを閉じる際に問題はほとんどありませんでした。答えを再確認することができます。 –

0

android:name="android.intent.category.LAUNCHER"は、あなたがたときにアプリが起動呼び出したいだけの活動に与えるべきです。

他のアクティビティから削除してください。

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

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

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

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

</application> 

Intent_filterの対処方法を強くお勧めします。

0

これを試してみてください:メインのランチャーとしてデフォルトのスプラッシュ画面としてメインの活動を行います

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

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

関連する問題