Android中对menu、home、back键的监听,通过KeyEvent中的常量值来判断用户点击了哪个按钮。

其中对home键的监听需先在manifest文件中添加

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>

这一权限,并且在程序中复写onAttachedToWindow()方法,以便解除系统对home键的守护。

具体详见下面的例子:

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.WindowManager;
import android.widget.Toast;

public class TestAndroidActivity extends Activity {
    /** Called when the activity is first created. */
 private final String TAG = "TestAndroidActivity";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

@Override
    public void onAttachedToWindow() {
     super.onAttachedToWindow();
     this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);      
    }
 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  switch(keyCode){
     case KeyEvent.KEYCODE_MENU:
      Log.d(TAG, "KeyEvent.KEYCODE_MENU");
      Toast.makeText(this, "KeyEvent.KEYCODE_MENU", Toast.LENGTH_LONG);
     break;
     case KeyEvent.KEYCODE_HOME:
      Log.d(TAG, "KeyEvent.KEYCODE_HOME");
      finish();
      Toast.makeText(this, "KeyEvent.KEYCODE_HOME", Toast.LENGTH_LONG);
     break;
     case KeyEvent.KEYCODE_BACK:
      Log.d(TAG, "KeyEvent.KEYCODE_BACK");
      Toast.makeText(this, "KeyEvent.KEYCODE_BACK", Toast.LENGTH_LONG);
     break;
     default:
      Log.d(TAG, "没有匹配的");

Toast.makeText(this, "KeyEvent.没有匹配的", Toast.LENGTH_LONG);
  }
  return super.onKeyDown(keyCode, event);
 }
    
}

最后在manifest文件中添加<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>

Android中对menu、home、back键的监听相关推荐

  1. android 发送彩信监听,在Android中发送短信和彩信,监听短信并显示

    发送短信: String body="this is sms demo"; Intent mmsintent = new Intent(Intent.ACTION_SENDTO, ...

  2. Android中wifi与数据流量的切换监听

    最近在做一个wifi和移动数据的监控功能,来来回回折腾了一阵子,这个模块的主要功能是监听整个APP的wifi与数据流量的切换,让用户使用专用流量,而不是用wifi,给一个弹窗,点击确认,自动切换数据流 ...

  3. android onscrolllistener判断到底部,android中RecycleView添加下滑到底部的监听示例

    我们的日常开发中经常用到下拉刷新,而网上评价最好的开源下拉刷新组件当然还是android-Ultra-Pull-To-Refresh此组件可以给任何的控件添加下拉刷新功能.当然也包括recyclevi ...

  4. 安卓开发中如何获取手机返回键的监听处理

    步骤如下: 一.监测返回键 1.在Activity中重写onBackPressed()方法. @Override public void onBackPressed() {//此处写退向后台的处理 } ...

  5. Android菜单详解——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

  6. android底层按键监听,Android应用中Back键的监听及处理实例

    MainActivity如下: package cn.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent; ...

  7. Android应用中Back键的监听及处理

    MainActivity如下: package cn.testnbackpressed; import android.os.Bundle; import android.view.KeyEvent; ...

  8. android监听应用服务,Android应用中Back键的监听及处理实例

    MainActivity如下: 复制代码 代码如下: package cn.testnbackpressed; import android.os.Bundle; import android.vie ...

  9. android 自定义menu 背景颜色,Android中设置Menu菜单的文字颜色为白色

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 开发者交流裙: 188168040 Android中设置Menu菜单的文字颜色为白色,一般情况下,Android中Menu菜单的title文字颜色为黑色, ...

最新文章

  1. 当我们在谈深度学习时,到底在谈论什么(一)--转
  2. SharePoint 数据库管理-PowerShell
  3. Django设置TIME_ZONE和LANGUAGE_CODE为中国区域
  4. 在线生成文本图片 CFC函数计算版
  5. 利用电脑上自带指纹识别嵌入程序中_Win 10 隐藏功能:不用任何软件就可实现手机投屏到电脑...
  6. c语言求最后一个单词的长度,试题2:计算字符串最后一个单词的长度
  7. 华为机试HJ17:坐标移动
  8. python 循环控制语句结束,Python是如何循环控制语句的
  9. mapxtreme2008 7.0错误
  10. mybatis代码自动生成工具-MyBatis Generator
  11. 人工智能的常用十种算法
  12. PADS2007快捷键、无模命令大全
  13. 汉语言文学如何利用计算机思维,计算机在应用于汉语言文学时产生的优势与局限.PDF...
  14. JavaScript设计模式之策略模式-优化if条件过多
  15. oracle 经纬度格式转换,GOOGLE与百度经纬度互转(plsql版)
  16. python考勤统计_公司HR统计考勤用这个函数公式,快速、准确完成,再也不加班了...
  17. 小学计算机应用到英语课教案,信息技术助力小学英语课堂教学妙招
  18. keep T 不是 KG等级_初中英语动词28讲:根据短语倒推 keep 的用法
  19. 51系列单片机寻址方式
  20. 客户端性能自动化-亲自实践遇到的问题

热门文章

  1. js将字符串中所有数字转化为下标
  2. 微信公众号 服务器自动回复,微信订阅后台自动回复功能的实现
  3. 奥塔在线:Centos下使用rpm方式安装crontab服务
  4. 通用的JS表单验证插件代码
  5. Spark+Scala建设数仓和数据分析
  6. volatile 与处理器的嗅探技术
  7. pacman常用命令汇总
  8. 李彦宏:去年“吹的牛”我兑现了!百度无人车今天正式量产!
  9. git基础(7)--打标签
  10. 养老服务机构引入电子签章推动养老合同在线签