0

Zxing ライブラリを使用して QR/BarCode を読み取ります。現在、私のプロジェクトは Sdcard から Qr/Barcode を読み取り、それをデコードしています。

デバイスのカメラを使用してコードをスキャンしてからデコードしたいのですが、ここで機能するようにコードを変更するにはどうすればよいですか。

これが私のコードです

  public static class Global
{
    public static String text=null;
}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Bitmap bMap = BitmapFactory.decodeFile("/sdcard/2.gif");
    TextView textv = (TextView) findViewById(R.id.mytext);
    View webbutton=findViewById(R.id.webbutton);
    LuminanceSource source = new RGBLuminanceSource(bMap); 
    BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
    Reader reader = new MultiFormatReader();
    try {
         Result result = reader.decode(bitmap);
         Global.text = result.getText(); 
            byte[] rawBytes = result.getRawBytes(); 
            BarcodeFormat format = result.getBarcodeFormat(); 
            ResultPoint[] points = result.getResultPoints();
            textv.setText(Global.text);
            webbutton.setOnClickListener(this);
    } catch (NotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ChecksumException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (FormatException e) {
        // TODO Auto-generated catch block
e.printStackTrace();


    }   
}

@Override
public void onClick(View v) {
    Uri uri = Uri.parse(Global.text); 
    Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
    startActivity(intent);




}
4

2 に答える 2

0

アクティビティで Zxing インテントを呼び出してリラックスする必要があります。

最初にインテントを呼び出すコードを追加します。

IntentIntegrator integrator = new IntentIntegrator(yourActivity);
integrator.initiateScan();

次に、これを Activity に追加して、結果を処理します。

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
  IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
  if (scanResult != null) {
    // handle scan result
  }
  // else continue with any other code you need in the method
  ...
}

時間をかけて Zxing の wiki ページを調べてください。非常にうまく説明されています。

http://code.google.com/p/zxing/w/list

http://code.google.com/p/zxing/wiki/ScanningViaIntent

Zxing インテントを呼び出す方法を示すサンプル アプリケーションを次に示します。

http://code.google.com/p/zxing/source/browse/trunk/androidtest/src/com/google/zxing/client/androidtest/ZXingTestActivity.java

最後に、テスト プロジェクト + ライブラリは次の場所にあります。

http://code.google.com/p/zxing/source/browse/trunk#trunk%2Fandroid-integration%253Fstate%253Dclosed

于 2012-06-28T10:03:30.617 に答える