我想使用android输入法服务将扫描文本/条形码发送到任意应用程序。
使用
activity.dispatchKeyEvent(sendKeyEvent);
我可以直接模拟KeyEvent到我的活动。但我想知道如何将事件发送到MyIME(已经激活),以提供任意连接的活动。 我在互联网上找不到任何答案。你能提一些提示吗?
答案 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
}
}