zoukankan      html  css  js  c++  java
  • android处理Back键Home键和Menu键事件(转)

     @Override 
        public boolean onKeyDown(int keyCode, KeyEvent event) 
        {
            if(keyCode == KeyEvent.KEYCODE_BACK) 
            { //监控/拦截/屏蔽返回键
                dialog();
        
                return false; 
                
            } else if(keyCode == KeyEvent.KEYCODE_MENU) 
            {
                if(isShowButton)
                {
                    rly.setVisibility(View.VISIBLE);
                    isShowButton = false;
                    
                }else
                {
                    rly.setVisibility(View.GONE);
                    isShowButton = true;
                }
         
                return false;
                
            } else if(keyCode == KeyEvent.KEYCODE_HOME) 
            {
                //由于Home键为系统键,此处不能捕获,需要重写onAttachedToWindow()
      
                return false;
            }
            return super.onKeyDown(keyCode, event);
         }
        
        
        protected void dialog() 
        { 
            AlertDialog.Builder builder = new Builder(WebActivity.this); 
            builder.setMessage("确定要退出吗?"); 
            builder.setTitle("提示"); 
            builder.setPositiveButton("确认", 
            new android.content.DialogInterface.OnClickListener() 
            { 
                public void onClick(DialogInterface dialog, int which) 
                { 
                    dialog.dismiss(); 
                    WebActivity.this.finish(); 
                } 
            }); 
            
            builder.setNegativeButton("取消", 
            new android.content.DialogInterface.OnClickListener() 
            { 
                public void onClick(DialogInterface dialog, int which) 
                { 
                    dialog.dismiss(); 
                } 
            }); 
            
            builder.create().show(); 
        } 
        
        
        /*
        // 拦截/屏蔽系统Home键
        public void onAttachedToWindow() 
        { 
            this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
            super.onAttachedToWindow(); 
        }
        */
  • 相关阅读:
    day 15 小结
    python中的数据类型以及格式化输出
    编程语言简介
    计算机简介
    堆排
    Lock锁
    JVM入门
    Java中反射调用私有方法出现NoSuchMethodException
    1248. 统计「优美子数组」
    注解
  • 原文地址:https://www.cnblogs.com/wainiwann/p/3753589.html
Copyright © 2011-2022 走看看