[英]Avoid splash screen activity when pressing Back button
在我的應用程序中,我有兩個活動。 首先是一個閃屏,它只顯示應用程序名稱和其他一些信息。 單擊啟動屏幕活動后,我正在加載主要活動。 我的應用程序運行良好,但我面臨一個小問題。 如果我從我的主要活動中按下后退按鈕,控制將啟動屏幕活動。 但我不想再次顯示閃屏活動,我想在按下后退按鈕時避免閃屏活動。
有可能嗎? 如果是這樣怎么辦?
在您的AndroidManifest.xml
文件中,在您的啟動畫面<activity>
添加android:noHistory="true"
屬性。
據我了解,您希望在更改活動后不顯示啟動活動。 您應該注意活動保存在堆棧上,並開始新的活動推送,完成后彈出堆棧。 我認為,如果您調用finish()
方法,您的問題將在您調用 StartActivity insert finish()
之后的初始屏幕活動中解決
public void onClick(View v) {
Intent intent = new Intent(Main.this, Splash.class);
startActivity(intent);
finish();
}
希望有用:)
你可以打電話
finish();
當您跳轉到第二個屏幕時,在您的啟動畫面中。
除了上述答案,您還應該注意:
1:通過調用finish()方法,Splash Activity 將在執行后關閉,這意味着它在堆棧中將不可用。
@Override
protected void onCreate(Bundle saveInstsnceState){
super.onCreate( saveInstanceState);
\\ do something here
Intent intentSplash = new Intent(SplashActivity.this, NextActivity.class);
StartActivity(intentSplash);
finish ();
}
您將使用上述方法實現您的目標,但是...
2:如果你想防止你的用戶強制退出應用程序(按下后退按鈕),而飛濺活動仍在進行中,這是android中的最佳實踐,那么你需要調用onBackPressed()方法。
Class NoBackSplash{
@Override
protected void onCreate(Bundle saveInstsnceState){
super.onCreate( saveInstanceState);
\\ do something here
Intent intentSplash = new Intent(SplashActivity.this, NextActivity.class);
StartActivity(intentSplash);
finish ();
}
@Override
public void OnBackPressed(){
};
}
使用此 OnBackPressed() 方法,無論用戶如何努力,您的啟動活動都不會被迫退出。
我了解,您希望在單擊后退按鈕時不顯示啟動活動。 首先你應該知道android上的所有活動都是以STACK的形式存在的。 所以我們需要的只是在它執行后結束飛濺活動。 我們可以通過調用 android studio 中的finish()方法來做到這一點。 這是解決方案:
Intent intent = new Intent(MainActivity.this, home.class);
startActivity(intent);
finish();
public class Splash extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
Handler hd = new Handler();
hd.postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(Splash.this,MainActivity.class);
startActivity(i);
#by calling finish() method,splash activity will close after execution
finish();
}
},3000);
}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.