如何解析QR扫描Zbar android的结果?

时间:2017-05-14 12:34:51

标签: android zbar

我使用Zbar库进行QR扫描。 我试着解析这次扫描的结果,但是我丢失了一些信息。对于解析,我使用this library

是否有其他库可以解析handleResult(Result rawResult) rawResult?

这是我的代码: @override

public void handleResult(final Result rawResult) {

    Log.v("myLog", rawResult.getContents()); // Prints scan results
    Log.v("myLog", rawResult.getBarcodeFormat().getName()); // Prints the scan format (qrcode, pdf417 etc.)

    unswer = rawResult.getContents();

     if (unswer.contains("VCARD")){

            final AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("Содержимое");
            builder.setMessage(unswer = rawResult.getContents());
            builder.setPositiveButton("Добавить контакт", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                String parseVcard = unswer;
                VCard vCard = VCardParser.parse(parseVcard);

                String name = vCard.getName();
                String fname = vCard.getFormattedName();
                Log.d("myLog", name + " " + fname);
                addContact(fname + " " + name);

                }
            });
            builder.setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                mScannerView.resumeCameraPreview(SimpleScannerActivity.this);
            }
            });

            AlertDialog alertDialog = builder.create();
            alertDialog.show();


    }

1 个答案:

答案 0 :(得分:0)

vCard.getFormattedName()不会为您返回值,因为您的rawResult不包含" FN"值。当你查看你发送的值时,它只包含" N"这意味着您只有vCard.getName();

的价值