KeyEvent работает только в WebView, если я использую «горячую замену» APK - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть приложение WebView в моем приложении для Android.Мне нужно отправить KeyEvent с полезной нагрузкой String (из сканера штрих-кода) в WebView.Кажется, что WebView не реагирует на это событие, пока я не внесу несущественные изменения в код и не выполню «горячую замену» в Android Studio.Почему это поведение несовместимо?Как мне заставить это работать без проблем?

@Override
public void onEvent(@NotNull final Scanner.Event event) {
    if (event.getType().equals("SCANNER_DATA")) {
        mainWebView.post(new Runnable() {
            @Override
            public void run() {
                KeyEvent keyEvent = new KeyEvent(SystemClock.uptimeMillis(), event.getMessage(), KeyCharacterMap.VIRTUAL_KEYBOARD, 0);
                mainWebView.dispatchKeyEvent(keyEvent);
            }
        });
    }
}

https://developer.android.com/reference/android/view/KeyEvent.html#KeyEvent(long,%20java.lang.String,%20int,%20int)

...