我的应用链接一些活动.
如果你按下后退按钮,你会回到旧的活动然后你突然退出应用程序!
所以如果它是堆栈上的最后一个活动,我需要显示一条消息,例如"你真的要退出吗"
我知道如何覆盖后退按钮,但我无法知道如何知道历史记录中有多少活动
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// Is it the last activity on stack ?
// so show confirm dialog
return true;
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
请帮忙.
Jor*_*sys 14
你可以使用finish()函数实现这一点
public void finish() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("do you really want to exit?");
builder.setCancelable(false);
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
quit();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
public void quit() {
super.finish();
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2274 次 |
| 最近记录: |