条码扫描器使用phonegap插件而不使用条形码库?

时间:2012-07-06 08:55:08

标签: android html5 cordova phonegap-plugins

我正在研究phonegap android应用程序。这对我来说是全新的。我想用条形码扫描仪开发应用程序。它也可能使用意图调用。这意味着条形码意图是从java代码调用的,一旦扫描结果应该显示在HTML页面中。

2 个答案:

答案 0 :(得分:2)

来自phonegap插件的此代码按预期工作:

    public PluginResult execute(String arg0, JSONArray arg1, String arg2) {
        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        intent.setPackage("com.google.zxing.client.android");
    //  intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
        ctx.startActivityForResult(this, intent, 0);

        return new PluginResult(PluginResult.Status.OK);
    }

    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        if (requestCode == 0) {
            Log.i("Cordova", "result " + resultCode);
            if (resultCode == Activity.RESULT_OK) {
                String contents = intent.getStringExtra("SCAN_RESULT");
                String format = intent.getStringExtra("SCAN_RESULT_FORMAT");

                Log.i("Cordova", "contents " + contents + ", format " + format);
                // Handle successful scan
            } else if (resultCode == Activity.RESULT_CANCELED) {
                // Handle cancel
                Log.i("Cordova", "scan cancelled");
            }
        }
    }

使用Cordova 1.7和Android 2.2测试

答案 1 :(得分:1)

只需转到to并按照自述文件中的说明操作。

将此项添加到项目后,您可以使用

之类的内容
window.plugins.barcodeScanner.scan( function(result) {
        alert("We got a barcode\n" +
                  "Result: " + result.text + "\n" +
                  "Format: " + result.format + "\n" +
                  "Cancelled: " + result.cancelled);
    }, function(error) {
        alert("Scanning failed: " + error);
    }
);

进行扫描。