方式一(Handler+标志位):

public class MainActivity extends Activity {


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) {
// TODO Auto-generated method stub
super.handleMessage(msg);
isExit = false;
}
};


}


@Override
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);
}


}


方式二(记录点击的时间):


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


更多相关文章

  1. android 全屏函数
  2. Android(安卓)使用Get方式实现断点下载(一)
  3. androi 添加桌面快捷方式
  4. Android再按一次退出软件
  5. Android(安卓)点击回退按钮时弹出提示框
  6. Android(安卓)Notification不显示时间
  7. Android(安卓)快捷方式
  8. Android获取UTC时间的方式
  9. Fragment传值到Fragment的操作步骤

随机推荐

  1. 动态加密?看我如何见招拆招爬取某点评全站
  2. 收藏这些API,获取网易云音乐数据超轻松
  3. Fabric 源码学习:如何实现批量管理远程服
  4. 只要两步,用Python将地址标记在地图上!
  5. Ansible 之 通过yum模块安装软件
  6. 如何面对人生中的逆境?
  7. 火了!开源的Python抢票神器,过年回家就看这
  8. 圣诞节,教你用Python给微信头像添加一个圣
  9. Python 3.9 新特性:任意表达式可作为装饰
  10. 放大招!耗时一个月,早起做了一个Python数据