В моем onCreateInputView InputMethodService у меня есть BroadcastReceiver, который прослушивает события из моего приложения. Мой BroadcastReceiver получает текст и пытается вставить его в текущее текстовое поле. Проблема в том, что текст никогда не вставляется в текущее текстовое поле, все работает нормально, кроме текста, не вставленного в поле editText.
Здесь я публикую свой фрагмент кода
@Override
public View onCreateInputView() {
kv = (KeyboardView) getLayoutInflater().inflate(R.layout.activity_main, null);
keyboard = new Keyboard(this, R.xml.qwerty);
kv.setKeyboard(keyboard);
kv.setOnKeyboardActionListener(this);
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String resultData = intent.getStringExtra(Main2Activity.SERVICE_MESSAGE);
InputConnection ic = getCurrentInputConnection();
if (ic != null) {
ic.commitText(resultData, resultData.length());
}
}
};
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
lbm.registerReceiver(broadcastReceiver, new IntentFilter(Main2Activity.SERVICE_RESULT));
return kv;
}