0

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

4

2 回答 2

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 测试

于 2012-07-06T13:48:43.140 回答
1

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

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

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

进行扫描。

于 2012-09-13T13:14:05.817 回答