zoukankan      html  css  js  c++  java
  • android开发:退出程序(对话框、两次返回键退出)

    private void exitDialog()
        {
            AlertDialog.Builder aa=new AlertDialog.Builder(this); 
            aa.setTitle("消息提示");
            aa.setMessage("确认退出?"); 
            aa.setIcon(R.drawable.icon);
            aa.setPositiveButton("确定",new DialogInterface.OnClickListener() {
                
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    MainActivity.this.finish();
                }
            });
            aa.setNegativeButton("取消", null);
            aa.create(); 
            aa.show(); 
        }
        
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event)
        {
            if(keyCode == KeyEvent.KEYCODE_BACK)
            {
            exitDialog();
            }
            return true;
            
        }

    现在还流行连续按两次返回退出,代码:

        private static boolean isExit=false;
        private static boolean hasTask=false;
        Timer tExit=new Timer();
        TimerTask task=new TimerTask() {
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
                isExit=false;
                hasTask=true;
            }
        };
    
    
    @Override
        public boolean onKeyDown(int keyCode, KeyEvent event)
        {
            if(keyCode == KeyEvent.KEYCODE_BACK)
            {
                //exitDialog();
                if(isExit==false)
                {
                    isExit=true;
                    Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); 
                    if(!hasTask) {
                        tExit.schedule(task, 2000);
                    }
                }
                else
                {
                    finish();
                    System.exit(0);
                }
                
            }
            //return true;
            return false;
            
        }
  • 相关阅读:
    C#与SAP进行数据交互
    自动加减工单结存算法实现
    RDLC报表打印一维码
    调用存储过程通用类
    监听网络状态
    压缩及解压缩文件
    用Go造轮子-管理集群中的配置文件
    2015年总结
    浅析Go语言的Interface机制
    2014年总结
  • 原文地址:https://www.cnblogs.com/gisoracle/p/7101936.html
Copyright © 2011-2022 走看看