2014-02-24 67 views
-1

我有一個包含飛濺活動的android程序。當我運行該程序的一切完美的工作,但是當PRES後退按鈕我看到我的濺活動再次。要能避免這個,看來我需要關閉我的飛濺,但我可以T 這裏是我的代碼我想關閉我的飛濺活動

package com.tesbih; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 

public class Splash extends Activity { 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.splash); 
    Thread timer = new Thread(){ 

     public void run(){ 
      try{ 
       sleep(5000); 
      }catch(InterruptedException e){ 

       e .printStackTrace(); 

      }finally{ 

Intent openStartingPoint = new Intent ("com.tesbih.TESBIHMAINACTIVITY"); 
startActivity(openStartingPoint); 

      } 
     } 
    }; 

    timer.start(); 
    } 





} 
+1

有你看了文檔http://developer.android.com/reference/android/app/Activity.html#finish() – Raghunandan

+0

是您的閃屏發射活動爲你的應用程序,或者是它從發起活動開始?它看起來像前者,在這種情況下,您當前的活動是您主要活動的父/子堆活動。你應該清理後端堆棧的意圖:http://stackoverflow.com/questions/5794506/android-clear-the-back-stack。 – user1676075

回答

1

添加一個TimerTask到您的代碼。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 

    TimerTask splash = new TimerTask(){ 
     public void run() { 
      onDestroy(); 
      startActivity(new Intent(Splash.this, MainActivity.class)); 
     } 
    }; 

    Timer splashScreenTimer = new Timer(); 
    // Timer set to 4.5 seconds 
    splashScreenTimer.schedule(splash, 5000); 
} 
+0

也onDestroy( ); – aisflat439

-1

致電finish()完成您的飛濺活動。

做這樣

Intent openStartingPoint = new Intent ("com.tesbih.TESBIHMAINACTIVITY"); 
startActivity(openStartingPoint); 
finish(); 
+0

這段代碼不行不通 –

+0

@MehmetHikmet它應該工作,你可以讓我知道你是怎麼打電話,在你現在的問題中粘貼你的新代碼,並粘貼錯誤信息,如果你有任何 –