java-在Android应用中使用zxing扫描条形码阅读器数据

这是我的代码对我不起作用

 public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra("com.google.zxing.client.android.SCAN.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");

            Toast.makeText(getApplicationContext(),"Contents"+contents+"Format"+format,Toast.LENGTH_LONG).show();
            tv.setText(contents+""+format);
            // Handle successful scan
        } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel
        }
    }
}

startActivityForResult(intent,0)中的错误;我不知道如何解决此错误,请帮我

解决方法:

您也可以通过扩展CaptureActivity来完成.

 public void onClick(View v) {
   Intent intent=new Intent(A.this,ScannerActivity.class);
    startActivity(intent);
        }

ScannerActivity:

public class ScannerActivity extends CaptureActivity {

/** The barcode format. */
String barcodeFormat;

/**
 * Called when the activity is first created.
 * 
 * @param savedInstanceState
 *            the saved instance state
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.barcode_scan);
}

/*
 * (non-Javadoc)
 * 
 * @see
 * com.google.zxing.client.android.CaptureActivity#handleDecode(com.google
 * .zxing.Result, android.graphics.Bitmap)
 */
@Override
public void handleDecode(Result rawResult, Bitmap barcode) {

    String barcodeType = rawResult.getBarcodeFormat().toString();
    String productId = rawResult.getText();
 Toast.makeText(getApplicationContext(),"Contents"+productId +"Format"+barcodeType ,Toast.LENGTH_LONG).show();
    //handle intent by sending product id as your wish...

}

}

Barcode_scan.xml :(不要忘了包含capture.xml)

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
   android:orientation="vertical" >
    <include layout="@layout/capture"/> 
</LinearLayout>
上一篇:文献阅读_image capition_CVPR2021_VinVL: Revisiting Visual Representations in Vision-Language Models


下一篇:Django——Paginator分页功能练习