现在的位置: 首页 > web前端 > 正文

android双击退出怎么实现

2020年07月16日 web前端 ⁄ 共 1049字 ⁄ 字号 评论关闭

  android双击返回键退出程序,一般有两种实现思路,一种是用一个布尔值变量来记录按键事件,并通过线程延时来实现效果;另外一种是直接通过记录按键时间计算时间差实现功能。


  利用线程延时实现android双击退出


  privatestaticbooleanmBackKeyPressed=false;//记录是否有首次按键


  @Override


  publicvoidonBackPressed(){


  if(!mBackKeyPressed){


  Toast.makeText(this,"再按一次退出程序",Toast.LENGTH_SHORT).show();


  mBackKeyPressed=true;


  newTimer().schedule(newTimerTask(){//延时两秒,如果超出则擦错第一次按键记录


  @Override


  publicvoidrun(){


  mBackKeyPressed=false;


  }


  },2000);


  }


  else{//退出程序


  this.finish();


  //System.exit(0);


  }


  }


  通过mBackKeyPressed来记录是否有首次按返回键的记录,如果不存在首次按键记录,则Toast提示,并记录首次按键记录,并启动线程在2秒后擦除该按键记录。如果在线程海内擦除mBackKeyPressed时又按下返回键,则执行else里面的语句退出程序。


  通过计算时间差实现android双击退出


  privatelongmPressedTime=0;


  @Override


  publicvoidonBackPressed(){


  longmNowTime=System.currentTimeMillis();//获取第一次按键时间


  if((mNowTime-mPressedTime)>2000){//比较两次按键时间差


  Toast.makeText(this,"再按一次退出程序",Toast.LENGTH_SHORT).show();


  mPressedTime=mNowTime;


  }


  else{//退出程序


  this.finish();


  System.exit(0);


  }


  }


  这里是通过控制时间差来实现功能的,在首次按下返回键时,将会将当期时间赋值给mPressedTime并通过Toast提示用户,


  总之,android双击退出给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.