Android实现点击两次返回键退出
2019-08-28 11:03 城隍庙名士 阅读(192) 评论(0) 编辑 收藏 举报Handler:
public class MainActivity extends Activity{ //定义一个变量,来标识是否退出 private static boolean isExit=false; Handler handler=new Handler(){ @Override public void handleMessage(Message msg){ super.handleMessage(msg); isExit=false; } }; @Override public boolean onKeyDown(int keyCode,KeyEvent event){ if(keyCode==KeyEvent.KEYCODE_BACK){ exit(); return false; } return super.onKeyDown(keyCode,event); } private void exit(){ if(!isExit){ isExit=true; Toast.makeText(getApplicationContext(),"再按一 退出程序",Toast.LENGTH_SHORT).show(); //利用handler延迟发送更改状态信息 handler.sendEmptyMessageDelayed(0,2000); } else{ finish(); System.exit(0); } }
用系统秒数
public class MainActivity extends Activity{ private long exitTime=0; @Override public boolean onKeyDown(int keyCode,KeyEvent event){ if(keyCode==KeyEvent.KEYCODE_BACK){ exit(); return false; } return super.onKeyDown(keyCode,event); } private void exit(){ if((System.currentTimeMillis()-exitTime)>2000){ Toast.makeText(getApplicationContext(), "再按一次退出程序",Toast.LENGTH_SHORT).show(); exitTime=System.currentTimeMillis(); else{ finish(); System.exit(0); } }