我在Android上使用数据收集终端。设置数据输入可以有两种变体(如“键盘”或“剪贴板”)。
我更新了我的项目(Android studio)的gradle依赖项
在compile 'com.android.support:appcompat-v7:23.0.0'
之前。
在compile 'com.android.support:appcompat-v7:25.0.0'
之后。
设置“25.0.0”或“23.4.0”后,从扫描仪输入“剪贴板”,不起作用。 如果设置为“键盘”,则可以。
我发现设备发送“onKey”组合MENU + V(更准确地说是“KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_MENU”和“KeyEvent.ACTION_UP,KeyEvent.KEYCODE_V”)。
我试图重现关键事件。
ClipboardManager clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText("999999");
BaseInputConnection mInputConnection = new BaseInputConnection(editText, true);
mInputConnection.sendKeyEvent(new KeyEvent(android.os.SystemClock.uptimeMillis(), android.os.SystemClock.uptimeMillis(), KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MENU, 0));
mInputConnection.sendKeyEvent(new KeyEvent(android.os.SystemClock.uptimeMillis(), android.os.SystemClock.uptimeMillis(), KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_V, 0));
mInputConnection.sendKeyEvent(new KeyEvent(android.os.SystemClock.uptimeMillis(), android.os.SystemClock.uptimeMillis(), KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MENU, 0));
mInputConnection.sendKeyEvent(new KeyEvent(android.os.SystemClock.uptimeMillis(),android.os.SystemClock.uptimeMillis(),KeyEvent.ACTION_UP, KeyEvent.KEYCODE_V, 0));
以上代码使用“23.0.0”,但不能使用“25.0.0”或“23.4.0”。
关于“23.0.0”的关键事件:82-DOWN,82-UP,50-UP
关于“23.4.0”及以上的关键事件:82-DOWN,82-UP,50-DOWN,50-UP
我想知道这可以通过什么样的设置来解决,或者现在我必须自己控制这个组合?