title: Android splash screen while loading MainActivity
body: <p>So, I just read this question: <a href="https://stackoverflow.com/questions/5486789/how-do-i-make-a-splash-screen-in-android">How do I make a splash screen?</a>
  But instead of adding a fixed delay (like in the top answer), I wanted to keep the splash screen on while the MainActivity (with a MapFragment) loads.</p>
  
  <pre><code>    public class SplashScreen extends Activity {
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_splash);
  
              Thread t = new Thread(new Runnable() {          
                  @Override
                  public void run() {
                      Intent i = new Intent(SplashScreen.this, MainActivity.class);
                      startActivity(i);
                      synchronized (this) {
                            try {
                              wait(3000);
                              System.out.println("Thread waited for 3 seconds");
                          } catch (InterruptedException e) {
                              // TODO Auto-generated catch block
                              e.printStackTrace();
                          }
                      }       
                  }
              });
              try {
                  t.start();
                  t.join();
                  finish();
              } catch (InterruptedException e) {
                  e.printStackTrace();
              }
  }
  </code></pre>
  
  <p>I added the wait(3000) line, because I noticed before that the thread didn't live for long. However, if I make it wait for longer, there's just a black screen that lasts longer. For some reason, <strong>the SplashScreen activity won't show the ImageView</strong>.
  What should I do?
  Thanks.</p>