4

我有一个软键盘作为调用活动的输入方法服务。按下按钮并激活扫描仪。扫描器活动捕获一组数据,然后将数据返回到 inputmethodservice 以填写浏览器上的文本字段。

如何将活动的扫描值返回给 inputmethodservice 以及如何设置为 getCurrentInputConnection().commitText(data, 1)?以下用于调用scannerActivity的片段

final Intent intent = new Intent(Intent.ACTION_MAIN, null);
                final ComponentName cn = new ComponentName(
                        "com.example.android.softkeyboard",
                        "com.example.android.softkeyboard.ScannerActivity");
                intent.setComponent(cn);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
4

2 回答 2

1

你不应该改用 startActivityForResult 吗?

于 2012-05-02T05:10:43.897 回答
0

use this way

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, 0);

public void onActivityResult(int requestCode, int resultCode, Intent intent)
{    
 if(resultCode == 0)
 {    
   if (resultCode == RESULT_OK)
   {    
    String contents = intent.getStringExtra("your string");    
    }    
}    
};

于 2012-05-02T05:27:23.620 回答