android 再按一次退出程序

释放双眼,带上耳机,听听看~!

今天也是实在没有什么可以写的内容,不过还是想保持写博客的习惯,所以在网上查找了部分资料,决定写android 按两次back键退出app,这个功能很多app都有实现,而且很简单。

1.android中双击返回键退出程序的第一种做法

private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}

其实就是当点击back时,记录这次点击的时间,当第二次点击时,判断第二次的时间与第一次的时间间隔是否小于2秒,如果大于就提出app,否则,就提示”再按一次退出程序”。

 

2.用handle来实现双击返回键退出程序

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, "再按一次推出程序", 1000).show();
return false;
}else{
finish();
}
}
return super.onKeyDown(keyCode, event);
}

这个也是点击back键后提示”再按一次推出程序”, 然后把标志isExit设置为true,同时发生handle消息,在1.5秒后,把isExit 设置为false。当再次点击时,判断isExit是否为true,如果是,则两次back点击时间小于1.5秒,退出app,否则提示 “再按一次推出程序”。

今天的知识点很少,也很简单,自己还是讲的很详细的。大家有兴趣可以到网上查找资料看看。

android 再按一次退出程序就讲完了。

就这么简单。

人已赞赏
Android文章

android webView的使用

2020-4-11 3:18:04

Android文章

android eclipse的环境配置

2020-4-11 4:33:03

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索