如何写文本到我的Android IME

时间:2013-12-29 18:02:04

标签: android ime

我想使用android输入法服务将扫描文本/条形码发送到任意应用程序。

使用

activity.dispatchKeyEvent(sendKeyEvent);

我可以直接模拟KeyEvent到我的活动。但我想知道如何将事件发送到MyIME(已经激活),以提供任意连接的活动。 我在互联网上找不到任何答案。你能提一些提示吗?

1 个答案:

答案 0 :(得分:1)

回答我的问题非常简单:使用广播机制。我是android开发的新手,并且认为我可以直接将输入写入我自己的IME。

在这种情况下,我可以使用LocalBroacastManager之类的

LocalBroadcastManger lbm = LocalBroadcastManager.getInstance(this)

在我的活动中阅读扫描仪输入:

Intent intent = new Intent("...");
//put scanned input data to intent
lbm.sendBroadcast(intent);

在我的IME中:

public void onCreate() {
    lbm.registerReceiver(broadcastReceiver, new IntentFilter("..."))
}

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        //get input from intent and send this to inputConnection
    }
}