2011-10-26 9 views
4

私のアンドロイドアプリケーションにzingバーコードスキャナを統合したいと思います。Zxingバーコードカメラのオプション

public Button.OnClickListener mScan = new Button.OnClickListener() { 
    public void onClick(View v) { 
     Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     intent.setPackage("com.google.zxing.client.android"); 
     intent.putExtra("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"); 
      // Handle successful scan 
     } else if (resultCode == RESULT_CANCELED) { 
      // Handle cancel 
     } 
    } 
} 

を次のようにので、私は二つのカメラを含むAndroidタブレット(2.2バージョン)でこのアプリケーションを実装したい熱意積分器を使用しました。 この機能を起動すると、バックカメラ(Main)でスキャンを自動的に開始しますが、私のアプリケーションに応じて、フロントカメラのみでバーコードスキャンを実行する必要があります。このzingintegrator機能の助けを借りて、フロントカメラを有効にするには、これが可能である

intent.putExtra("SCAN_MODE", "QR_CODE_MODE","FRONT_CAMERA"); 
  1. のようなオプションのものがありますか?もしそうでなければ、私はオープンソースコード全体を実装する必要があるので、フロントカメラのみでスキャンを実行することが可能になります。ありがとうございました。

答えて

2

いいえ、これは本当にサポートされていません。フロントカメラを要求するためのAPIは、Android 2.3(私は?)とBarcode Scannerが今すぐ1.5になり、直ちに2.1に移行するまで表示されませんでした。 Camera.open()はデフォルトでリアカメラを開き、フロントカメラを選択しません。

少なくとも1つのタブレットにはフロントカメラが付いていると言われているので、Barcode Scannerにはカメラ画像を反転するオプションがあります。

私は、デバイス上のフロントカメラは一般的にリアカメラよりもはるかに悪いと言えます。その解像度とCCD応答性により、この方法でスキャンするのは難しくなります。

+0

ありがとうSean、しかし、私は本当にフロントカメラ(私のアプリケーションの要件)のみを動作させる必要がある、私はviewsonicからタブレット "viewpad7"を使用しています。 –

+0

あなた自身のアプリケーションを作成し、新しいAPIを使用してカメラにアクセスする必要があります。そのカメラから画像データを取得したら、実際のスキャンにコアライブラリを使用することができます。それは最初から作成する必要があるAndroidのビットです。 –

+0

更新。私はバーコードスキャナー+のバックポートコードを持っています。これは、2.3以上のデバイスでフロントカメラを開こうとします。 –