第一种方式:
当前app采用系统返回键时,退出当前app程序。重新进入app的时候,页面会被销毁,并且当前activity的状态无法保存,还得重新做一些内部操作。对于这些情况的处理办法在activity中加入下面这几行代码就可以了:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
假如在做app的时候,用户按系统返回键app给用户提醒 “再按一次退出当前app”,上面代码也可以如下:
private long isExit = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (System.currentTimeMillis() - isExit > 2000) {
Toast.makeText(this,"再按一次退出当前xxxApp!",Toast.LENGTH_SHORT).show();
isExit = System.currentTimeMillis();
} else {
this.finish();
}
return false;
}
return super.onKeyDown(keyCode, event);
}
第二种方式:
返回上级activity后,当前activity被销毁。处理方法如下:
Intent intent = new Intent(DevicesActivity.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);//如果这个Activity已经被打开了,那就不重新加载
startActivity(intent);
第三种方式:
只是单纯的返回上级activity,当前activity刷新或者销毁,处理办法如下:
只需要在设置按钮方法中加入 finish();


1万+

被折叠的 条评论
为什么被折叠?



