Я разрабатываю настраиваемую клавиатуру для android, которая в какой-то момент должна открывать действие, сканировать штрих-код и помещать значение в соответствующий Edittext. Все нормально работает с родными приложениями и с браузером Firefox, но в Google Chrome текст не вводится. Похоже, что в случае Chrome getCurrentInputConnection()
что-то не верное, если я возвращаю активность сканера штрих-кода формы. Если я просто ввожу текст с помощью getCurrentInputConnection()
до открытия активности сканера штрих-кода, он работает нормально. Но после открытия и завершения действия он перестает вводить текст.
Я использую следующий метод для ввода текста:
public void handleScanResult(final CharSequence text) {
final InputConnection ic = getCurrentInputConnection();
if (ic == null) return;
ic.beginBatchEdit();
if (mComposing.length() > 0) {
commitTyped(ic);
}
ic.commitText(text, 1);
ic.endBatchEdit();
updateShiftKeyState(getCurrentInputEditorInfo());
resultTxt = "";
}
PS ic
не является нулевым даже в случае Chrome, но, похоже, это что-то еще, кроме редактируемого, что мне нужно ... Есть идеи, как это можно исправить?