2011-06-10 27 views
19

在我的應用程序中,我在android中創建了一個閃屏類型的東西。它應該保持5秒鐘。我的問題是如何在5秒後自動顯示其他活動?啓動畫面沒有按鈕,相反,它應該在5秒後自動顯示另一個活動,無需點擊按鈕。如何在5秒後自動顯示活動

回答

56
new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       final Intent mainIntent = new Intent(LaunchActivity.this, HomeActivity.class); 
       LaunchActivity.this.startActivity(mainIntent); 
       LaunchActivity.this.finish(); 
      } 
     }, 5000); 
+0

感謝您的答覆。這是工作。 – 2011-06-10 09:41:10

+1

@paiNie如果用戶按下返回按鈕並在用戶導航回到活動時恢復計時器,我應該如何暫停計時器? – sarabhai05 2012-10-22 12:36:32

+0

優秀的代碼! – 2012-12-15 05:17:28

1

你可以在這裏
使用thread例如

// thread for displaying the SplashScreen 
     Thread splashTread = new Thread() { 
      @Override 
      public void run() { 
       try { 
        int waited = 0; 
        while(_active && (waited < _splashTime)) { 
         sleep(500); 
         if(_active) { 
          waited += 500; 
         } 
        } 
       } catch(InterruptedException e) { 
        // do nothing 
       } finally { 
        finish(); 
        // start your activity here using startActivity 
        stop(); 
       } 
      } 
     }; 
     splashTread.start(); 
9
TimerTask task = new TimerTask() { 

      @Override 
      public void run() { 
       Intent intent = new Intent(SplashScreen.this, MainMenu.class); 
       startActivity(intent); 
       finishscreen(); 
      } 
     }; 
     Timer t = new Timer(); 
     t.schedule(task, 5000); 

private void finishscreen() { 
     this.finish(); 
    } 
0

這也可以使用Android的CountDownTimer類完成。

看到這個例子爲5seconds延遲。

new CountDownTimer(5000, 1000) { 
    public void onFinish() { 
     Intent startActivity = new Intent(ThisActivity.this,ActivityToStart.class); 
     startActivity(startActivity); 
     finish(); 
    } 

    public void onTick(long millisUntilFinished) { 
    } 

}.start(); 

您可能還需要在AndroidManifest.xml文件來定義你的父活動,

<activity 
     android:name=".ActivityToStart" 
     android:label="Back" 
     android:parentActivityName=".MainActivity" > 

     <!-- Parent activity meta-data to support 4.0 and lower --> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".MainActivity" /> 
</activity> 
相關問題