【问题标题】:How to write text to my android IME如何将文本写入我的 android IME
【发布时间】:2014-01-16 16:18:40
【问题描述】:

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

activity.dispatchKeyEvent(sendKeyEvent);

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

【问题讨论】:

  • 你可以和你自己的服务通信吗?
  • IME服务封装的太好了,我还没找到怎么做。
  • 扫描条码是什么意思,你要发送什么数据?
  • 我从扫描仪获取条形码,并且可以将条形码(数字)写入我的 android 活动。但我真正想要的是创建一个 IME 来提供服务,用户可以使用扫描仪输入条形码.
  • 有人知道怎么做吗?

标签: android ime


【解决方案1】:

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

在这种情况下,我可以使用LocalBroacastManager like

LocalBroadcastManger lbm = LocalBroadcastManager.getInstance(this)

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

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

在我的输入法中:

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
    }
}

【讨论】:

    猜你喜欢
    • 2016-03-08
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2014-05-15
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多