--- android/BarcodeSample/app/src/main/java/dk/thoerup/android/barcodesample/MainActivity.java 2015/05/22 12:06:22 2558 +++ android/BarcodeSample/app/src/main/java/dk/thoerup/android/barcodesample/MainActivity.java 2015/05/22 13:26:16 2559 @@ -1,12 +1,17 @@ package dk.thoerup.android.barcodesample; import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; +import android.util.DisplayMetrics; +import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; @@ -25,6 +30,10 @@ public class MainActivity extends ActionBarActivity { + private Button startCamBtn; + private ImageView imageView; + + private Button scanBtn; private TextView formatTxt, contentTxt; @@ -44,6 +53,9 @@ contentTxt = (TextView)findViewById(R.id.scan_content); + startCamBtn = (Button) findViewById(R.id.button_startcam); + imageView = (ImageView) findViewById(R.id.imageView); + scanBtn.setOnClickListener(new View.OnClickListener() { @@ -59,6 +71,16 @@ } }); + + startCamBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(MainActivity.this, CamActivity.class); + startActivityForResult(intent, 1); + } + + }); + } @Override @@ -69,18 +91,38 @@ @Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { - IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); + Log.i("CAM", "requestCode:" + requestCode); - if (scanningResult != null) { - scanContent = scanningResult.getContents(); - scanFormat = scanningResult.getFormatName(); + switch( requestCode) { + case 49374: + IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); + + if (scanningResult != null) { + scanContent = scanningResult.getContents(); + scanFormat = scanningResult.getFormatName(); + + updateLabels(); + } + else{ + Toast toast = Toast.makeText(getApplicationContext(), "No scan data received!", Toast.LENGTH_SHORT); + toast.show(); + } + break; + case 1: + byte data[] = intent.getByteArrayExtra("DATA"); + + Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length); + DisplayMetrics dm = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(dm); + + imageView.setMinimumHeight(dm.heightPixels); + imageView.setMinimumWidth(dm.widthPixels); + imageView.setImageBitmap(bm); + break; - updateLabels(); - } - else{ - Toast toast = Toast.makeText(getApplicationContext(), "No scan data received!", Toast.LENGTH_SHORT); - toast.show(); } + + } private void updateLabels() {