• Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键


    protected void dialog() {
    AlertDialog.Builder builder = new Builder(TestActivity.this);
    builder.setMessage("确定要退出吗?");
    builder.setTitle("提示");
    builder.setPositiveButton("确认",
    new android.content.DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
    dialog.dismiss();
    TestActivity.this.finish();
    }
    });
    builder.setNegativeButton("取消",
    new android.content.DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
    dialog.dismiss();
    }
    });
    builder.create().show();
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键
    dialog();
    return false;
    } else if(keyCode == KeyEvent.KEYCODE_MENU) {
    // rl.setVisibility(View.VISIBLE);
    Toast.makeText(TestActivity.this, "Menu", Toast.LENGTH_SHORT).show();
    return false;
    } else if(keyCode == KeyEvent.KEYCODE_HOME) {
    //由于Home键为系统键,此处不能捕获,需要重写onAttachedToWindow()
    Toast.makeText(TestActivity.this, "Home", Toast.LENGTH_SHORT).show();
    return false;
    }
    return super.onKeyDown(keyCode, event);
    }
    // 拦截/屏蔽系统Home键
    public void onAttachedToWindow() {
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
    }

  • 相关阅读:
    想学好H5的话,你一定要知道的9个网站!
    颜色拾取
    Linux ( Centos 7.3 x64) 安装 nginx (一)
    获取url链接 判断加上HTTPS
    使用PHPMailer发送邮件
    PHP 判断一维数组或者是二维数组
    谨以此纪念下今天开通了博客
    线上服务器运维问题记录
    使用requests遇到的坑
    一个java进程突然消失的问题
  • 原文地址:https://www.cnblogs.com/top5/p/2851414.html
Copyright © 2020-2023  润新知