android处理Back键Home键和Menu键事件
16lz
2021-01-23
@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(); } */
更多相关文章
- android系统自带的适配布局activity_list_item
- android拍照,调用系统相册,相片上传
- Android获取系统应用及安装应用的权限列表
- 【Android 系统开发】Android JNI 之 JNIEnv 解析
- Android系统启动流程 -- bootloader
- Android去除系统自带动画的两种方法
- 使用Java代码在应用层获取Android系统属性
- 【Android】win10操作系统下Android开发环境配置