在我的主要活動中,用戶會收到通知,按下硬件返回按鈕退出應用程序。除了用戶死亡時,這在大多數情況下都適用。當用戶死亡時,它會轉到GameOverActivity。如果用戶在此活動中按下後退按鈕,然後繼續在主要活動上按回兩次,則它將重新開放遊戲而不是活動。這裏是代碼,我已經在遊戲中的後退按鈕上聲明瞭finish()以完成活動,但它似乎沒有幫助。在按下的硬件按鈕上關閉應用程序兩次返回到前一個活動
MainScreen回戒菸方法:
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Press again to quit", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce = false;
}
}, 2000);
}
GameOverActivity代碼:
backButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent mainScreenActivityIntent = new Intent(GameOverActivity.this, MainScreenActivity.class);
startActivity(mainScreenActivityIntent);
finish();
}
});
}
@Override
public void onBackPressed() {
Intent mainScreenActivityIntent = new Intent(GameOverActivity.this, MainScreenActivity.class);
mainScreenActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(mainScreenActivityIntent);
finish();
}
這裏是碰撞GameOverActivity的邏輯,從而創造:我想你
if (weight.getBounds().intersect(player.getBounds())) {
player.setTouched(false);
Intent gameOverIntent = new Intent(this.getContext(), GameOverActivity.class);
this.getContext().startActivity(gameOverIntent);
((Activity) getContext()).finish();
}
,而不是結束的()使用YourActivityName.this.finish();並嘗試 – jyomin
沒有什麼區別 –