我目前正在开发一款使用Android设备后退按钮的应用。我想知道如何检查活动是否是最后一个,如果用户再次按下,它不会退出应用程序,除非用户再次按下,就像使用9gag应用程序一样。
谢谢!
答案 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();
}