Android exits the implementation of the program one more time
- 2020-05-24 06:06:23
- OfStack
Type 1 (Handler+ flag bit)
private boolean isExit;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
isExit = false;
}
};
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
if(!isExit){
isExit = true;
handler.sendEmptyMessageDelayed(0, 1500);
Toast.makeText(this, " then 1 Secondary egress program ", 1000).show();
return false;
}else{
finish();
}
}
return super.onKeyDown(keyCode, event);
}
Type 2 (record click time)
private long exitTimeMillis = System.currentTimeMillis();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
long currentTime = System.currentTimeMillis();
if(currentTime-exitTimeMillis==0||currentTime-exitTimeMillis>1500){
exitTimeMillis = System.currentTimeMillis();
Toast.makeText(this, " then 1 Secondary egress program ", 1000).show();
return false;
}else{
finish();
}
}
return super.onKeyDown(keyCode, event);
}