与ocr和zxing的意图结合

时间:2013-11-28 17:18:09

标签: java android ocr barcode

我有一个应用程序,我使用此代码集成zxing

public Button.OnClickListener mScan = new Button.OnClickListener() {
public void onClick(View v) {
    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
    startActivityForResult(intent, 0);
    }
};

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
    if (resultCode == RESULT_OK) {
       String contents = intent.getStringExtra("SCAN_RESULT");
       String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
       // Handle successful scan
    } else if (resultCode == RESULT_CANCELED) {
        // Handle cancel
    }
}

我的手机中安装了zxing扫描仪和谷歌护目镜。当我启动应用程序并尝试扫描时,我可以选择条形码扫描仪或护目镜应用程序。我想,嘿,让我们尝试使用护目镜应用程序做其他事情,就像OCR一样。我选择了护目镜选项,但应用程序中没有拍照选项。如何将护目镜与我的应用程序集成?具有完整功能?

1 个答案:

答案 0 :(得分:0)

我不知道如何将您的应用与Google Goggles集成。但是,如果您正在寻找提供OCR功能的应用程序,您可以使用我的应用程序: https://play.google.com/store/apps/details?id=sunbulmh.ocr

以下是您可以在应用中使用以获取OCR服务的示例代码:

PackageManager pm = getPackageManager();
try {
    pm.getPackageInfo("sunbulmh.ocr", PackageManager.GET_ACTIVITIES);
    Intent LaunchIntent = pm.getLaunchIntentForPackage("sunbulmh.ocr");
    LaunchIntent.setFlags(0);
    startActivityForResult(LaunchIntent,5);
} catch (NameNotFoundException e) {
    Uri URLURI = Uri.parse("http://play.google.com/store/apps/details?id=sunbulmh.ocr");
    Intent intent = new Intent(Intent.ACTION_VIEW,URLURI);
    startActivity(intent);
}

然后,在onActivityResult()中获得结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (resultCode == RESULT_OK) {
        if(requestCode == 5){
            String ocr_txt = data.getStringExtra(Intent.EXTRA_TEXT);
            // ocr_txt contains the recognized text.




        }
    }
}