获取鼠标按键代码:

view.setOnGenericMotionListener(new OnGenericMotionListener() {
                
                @Override
                public boolean onGenericMotion(View v, MotionEvent event) {
                    // TODO Auto-generated method stub
                    int what = event.getButtonState();
                    //鼠标移动  0
                    //BUTTON_PRIMARY  (鼠标左键)  1
                    //BUTTON_SECONDARY  (鼠标右键) 8
                    //BUTTON_TERTIARY   (鼠标中键)  32
                    //BUTTON_BACK
                    //BUTTON_FORWARD
                    Log.d("debug","keyCode===777===="+event.getSource() + ":" + event.getToolType(0)  + "::" +what); //8194  3
                    event.getToolType(0); //MotionEvent.TOOL_TYPE_MOUSE
                switch (what) {
                    case MotionEvent.BUTTON_PRIMARY:
                        Log.d("debug","keyCode======="  +what);
                        break;    
                    case MotionEvent.BUTTON_TERTIARY:
                        Log.d("debug","keyCode========"  +what);
                        break;        
                    case MotionEvent.BUTTON_BACK://(鼠标右键)
                        Log.d("debug","keyCode======"+what );
                        break;    
                    }
                    return false;
                }
            });

查看MotionEvent源码,说明如下:

/**
     * Button constant: Primary button (left mouse button).
     *
     * This button constant is not set in response to simple touches with a finger
     * or stylus tip.  The user must actually push a button.
     *
     * @see #getButtonState
     */
    public static final int BUTTON_PRIMARY = 1 << 0;

/**
     * Button constant: Secondary button (right mouse button, stylus first button).
     *
     * @see #getButtonState
     */
    public static final int BUTTON_SECONDARY = 1 << 1;

/**
     * Button constant: Tertiary button (middle mouse button, stylus second button).
     *
     * @see #getButtonState
     */
    public static final int BUTTON_TERTIARY = 1 << 2;

/**
     * Button constant: Back button pressed (mouse back button).
     * <p>
     * The system may send a {@link KeyEvent#KEYCODE_BACK} key press to the application
     * when this button is pressed.
     * </p>
     *
     * @see #getButtonState
     */
    public static final int BUTTON_BACK = 1 << 3;

/**
     * Button constant: Forward button pressed (mouse forward button).
     * <p>
     * The system may send a {@link KeyEvent#KEYCODE_FORWARD} key press to the application
     * when this button is pressed.
     * </p>
     *
     * @see #getButtonState
     */
    public static final int BUTTON_FORWARD = 1 << 4;

这里  1 << 4 表示 1向左移动4位,向左移动一位表示乘以2,向右移动表示除以2,因为1 为0001,左移三位为1000,为8,左移四位为10000,为16,

其他类似,如2<< 3 = 16

可以参考如下文章:

http://blog.csdn.net/shanpengfei77/article/details/8157493

android 拦截鼠标按键相关推荐

  1. Android 拦截TextView中超链接点击事件

    Android 拦截TextView中超链接的点击事件 1.在xml中为TextView添加autoLink属性 <TextView...android:autoLink = "web ...

  2. Android拦截HOME键

    Android拦截按键 文章目录 Android拦截按键 Android拦截HOME按键 Android拦截BACK按键 Android拦截HOME按键 拦截HOME按键需要修改Android的fra ...

  3. Android拦截短信并屏蔽Notification

    Android拦截短信并屏蔽Notification 拦截短信有几个关键点: 1.android接收短信时是以广播的方式 2.程序只要在自己的Manifest.xml里加有"接收" ...

  4. android 拦截点击事件,Android事件拦截机制

    一直对事件拦截不是很清楚,读Android群英传的笔记,记录下. 要了解事件拦截,首先要了解触摸事件,触摸事件是捕获触摸屏幕后发生的事件.按一下屏幕通常会有几个事件发生,当按下屏幕,这是事件1.滑动了 ...

  5. android 拦截webview加载url_android webview拦截post的请求

    1.拦截post的请求在其中添加请求头. 在WebViewClient()中使用shouldInterceptRequest方法进行拦截:注意在api21以下使用 public WebResource ...

  6. Android拦截电话与短信(电话拒接/短信拒收)

    前段时间领导说了这样一个需求:对特定的号码电话进行拦截.短信拒收,在百度了查阅了很多的资料,结果有点不尽人意.特别是AIDL通信接口废了老大劲.直接上过程 创建aidl通信接口直接在main目录新建a ...

  7. Android拦截黑名单(简易版)

    拦截黑名单的话,一般都是去系统数据库里面取值,判断来电手机号码或者短信号码是否在我黑名单数据中是否存在.如果存在就拦截.而我这里就投机取巧了,没有去数据库.只是简单的拦截,将数据写死了! 来上代码: ...

  8. Android拦截电话

    当有电话拨入,处于响铃状态的时候,我们设置电话监听器去挂断电话(aidl,反射),达到拦截电话的效果,挂断电话号码的方法放置在aidl文件中名称为endCall的方法.在我们的工程中新建com.and ...

  9. Android 拦截来电

    要实现电话拦截,需要监听电话的状态,方法如下: /* 取得电话服务 */ TelephonyManager telManager = (TelephonyManager) getSystemServi ...

最新文章

  1. 从设计到实现,一步步教你实现Android-Universal-ImageLoader-辅助类
  2. mac软件全屏时候最顶上任务栏保留,MAC能不能做一个把程序放在顶部菜单栏的功能...
  3. 碉堡的小程序:用 Python 制作演示迷宫算法的 gif 动画
  4. Python_Note_08Day_10_03_JQuery
  5. iOS runtime和runloop
  6. Ⅴ:zookeeper的相关Java Api
  7. 以前的项目今日打开突然报错了!
  8. selenium切换窗口
  9. FinTech领域的风险控制——策略篇
  10. 【免费毕设】ASP.NET猜数游戏的设计与开发(源代码+lunwen)
  11. 三菱st语言编译后报C9330,三菱plc编程用什么语言比较好?三菱编程语言的特点...
  12. 移远BC26使用总结
  13. 计算机病毒note01
  14. 【Java学习笔记】API:I/O流
  15. maven clean Process terminated
  16. Git(七)——删除历史版本,保留当前状态
  17. 如何使用百度地图API
  18. Markdown 中 LaTex 数学公式命令
  19. 二年十五文学展第一季 - 知乎
  20. android 高德地图 定位蓝点消失,高德地图蓝点定位不显示蓝点

热门文章

  1. 非常强大的shell写的俄罗斯方块
  2. Iphone被刷机后用电信卡提示未激活,移动联通卡可以正常使用
  3. 纹理过滤中的双线,三线过滤
  4. 华为HCIP RS题库221 451-460题
  5. python照片转彩色手绘_python实现图片彩色转化为素描
  6. 必知必会MYSQL下篇
  7. 程序员必备的十四款工具,你都用过吗?
  8. 谁还说我没表情包用?马上用Python采集上万张个表情包
  9. [洛谷1849] 拖拉机
  10. 腾讯投资“差评”遭舆论讨伐,或被迫退股!!