2016-11-18 3 views
0

アプリケーションの起動時に自分のイメージを入れてみます。私はMainActivityを持っており、このように第二acivityを作る:SplashAcitivity.xmlスプラッシュなしで起動するアプリ

public class SplashActivity extends Activity 
{ 
    private static final long DELAY = 3000; 
    private boolean scheduled = false; 
    private Timer splashTimer; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 

     splashTimer = new Timer(); 
     splashTimer.schedule(new TimerTask() 
     { 
      @Override 
      public void run() 
      { 
       SplashActivity.this.finish(); 
       startActivity(new Intent(SplashActivity.this, MainActivity.class)); 
      } 
     }, DELAY); 
     scheduled = true; 
    } 

    @Override 
    protected void onDestroy() 
    { 
     super.onDestroy(); 
     if (scheduled) 
      splashTimer.cancel(); 
     splashTimer.purge(); 
    } 
} 

私が追加:私は描画可能

Androidのスタジオに私のコードには下線をフォルダないようにmy_imageをコピー

android:background="@drawable/my_image" 

とOFC、そうです良い、しかし、私はこのアプリケーションを実行する前に、MainActivityだけで、アプリケーションのように動作します。私にはそれを修正する方法はありません。

+0

SplashActivity.this.finish(); startActivityの後にこれを呼び出して、スプラッシュアクティビティーをマニフェストのランチャーにするように設定しましたか? – Bali

答えて

0

あなたはMainActivityの前にsplashScreenを実行するためにAndroidManifedstを編集しますか?

あなたが

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

を持っているあなたは

<category android:name="android.intent.category.DEFAULT" /> 

<category android:name="android.intent.category.LAUNCHER" /> 

を変更する必要があるとスプラッシュ画面に

<category android:name="android.intent.category.LAUNCHER" /> 
を入れ変更する必要があります3210
+0

SplashScreen ''に置いたときは、それは正常ですか? – patrick1980

+0

はい、アクセシビリティコードをコピーする必要がありますが、MainActivityをDefaultに変更し、SplashScreenをLauncherとして設定する必要があります – BrunoM24

関連する問題