确认后退提示退出应用程序

时间:2016-02-01 14:22:19

标签: android back

我目前正在开发一款使用Android设备后退按钮的应用。我想知道如何检查活动是否是最后一个,如果用户再次按下,它不会退出应用程序,除非用户再次按下,就像使用9gag应用程序一样。

谢谢!

4 个答案:

答案 0 :(得分:7)

1.0

答案 1 :(得分:4)

使用方法Activity.isTaskRoot(),您可以检查用户是否会在按下后退按钮时退出应用程序。

然后你只需要覆盖onBackPressed()来处理它,而不是平时。

答案 2 :(得分:2)

这里的例子:

elementToBeClickable

private boolean doubleBackToExitPressedOnce; @Override public void onBackPressed() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } if (doubleBackToExitPressedOnce) { super.onBackPressed(); } this.doubleBackToExitPressedOnce = true; Toast.makeText(this, this.getResources().getString(R.string.exit_toast), Toast.LENGTH_SHORT).show(); new Handler().postDelayed(new Runnable() { @Override public void run() { doubleBackToExitPressedOnce = false; } }, 2000); } 阻止是可选的。

答案 3 :(得分:0)

这不适用于OnBackpress方法

@Override
public void onBackPressed() {
    new AlertDialog.Builder(this)
        .setIcon(android.R.drawable.ic_dialog_alert)
        .setTitle("Closing Activity")
        .setMessage("Are you sure you want to close this activity?")
        .setPositiveButton("Yes", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int which) {
            finish();    
        }

    })
    .setNegativeButton("No", null)
    .show();
}