从QR符号获取字符串

时间:2015-10-29 09:34:01

标签: android zbar

我在一个项目中使用ZBAR来读取条形码,还有QR。读完QR后,我收到一个这样的字符串:

PreviewCallback CallbackCamara = new PreviewCallback()
{
    public void onPreviewFrame(byte[] data, Camera camera) {
        Camera.Parameters parameters = camera.getParameters();
        Size dimensiones = parameters.getPreviewSize();

        Image barcode = new Image(dimensiones.width, dimensiones.height,"Y800");
        barcode.setData(data);

        int result = escaner.scanImage(barcode);

        if (result != 0) {
            previsualizandoCamara = false;
            mCamera.setPreviewCallback(null);
            mCamera.stopPreview();
            SymbolSet syms = escaner.getResults();
            for (Symbol sym : syms) {

                valor = sym;

                barcodeScanned = true;
                DevolverCodigo(sym.getData());
            }
        }
    }
};

问题是,我知道这是一个JSON,我需要JSON中的一个值。但是,必须使用相同的条形码扫描仪来读取常规条形码。

我怎么知道它的QR或常规条形码是什么?而且,一旦我知道,我怎样才能从奇怪的String中提取JSON?

我的代码如下:

public static RouteValueDictionary AddIf(this RouteValueDictionary dict, bool condition, string name, object value)
{
    if (condition) dict.Add(name, value);
    return dict;
}

1 个答案:

答案 0 :(得分:1)

我认为它是一个BASE64字符串,用于解码它:

String stringFromBase = new String(Base64.decode(sym.getData(), Base64.DEFAULT));

在那个String中我有我的JSON对象。