Android AccessibilityService拦截事件及VR眼镜返回按键捕捉

本文介绍了如何使用Android的AccessibilityService来拦截VR眼镜上的返回按键。通过代码示例展示了如何设置AccessibilityService以拦截按键事件,并讨论了在实际应用中遇到的问题:虽然能捕获常规按键,但无法捕获VR眼镜的返回键。作者计划在后续文章中通过源码分析解决这一问题。
摘要由CSDN通过智能技术生成

公司项目有个需求,就是拦截VR眼镜上的返回按键,既然要拦截按键,私以为有以下两种方式:

1. AccessibilityService,Android辅助工具可以实现拦截按键、焦点变化、触摸时间、姿势等。

2. 使用adb shell命令,getevent方式分析获取到的按键的值。


第一种方法最简单,代码如下:

AccessibilityService.java

public class AccessBackKeyService extends AccessibilityService {

        private static final String TAG = "AccessBackKeyService";

        @Override
        protected boolean onKeyEvent(KeyEvent event) {
            Log.i(TAG, "onKeyEvent");

            if(event.getAction() == KeyEvent.ACTION_DOWN){
                return super.onKeyEvent(event);
            }
            Log.i(TAG, "onKeyEvent ACTION_DOWN");

            int key = event.getKeyCode();
            switch(key){
                case KeyEvent.KEYCODE_VOLUME_DOWN:
                    break;
                case KeyEvent.KEYCODE_VOLUME_UP:
                    break;
                case KeyEvent.KEYCODE_BACK:

                   Log.i(TAG, "KEYCODE_BACK");
                    break; 
                case KeyEvent.KEYCODE_ESCAPE: break; 
          } 
      return super.onKeyEvent(event); 
     } 
    @Override 
    public void onInterrupt() { } 
    @Override 
    public void onCreate() { 
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值