I have an application that needs to scan a barcode in order to get the code before it can continue. I use this code to run a scan:
finish = (Button) findViewById(R.id.finishButton);
finish.setOnClickListener(new OnClickListener() {
public void onClick(View viewParam) {
new AlertDialog.Builder(Visit.this)
.setMessage("Please Scan the clients barcode to complete the visit")
.setPositiveButton("Scan Barcode", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, 0);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(Visit.this, "Scan declined...", Toast.LENGTH_SHORT).show();
}
})
.show();
}
});
The code above sets the listener to a button that says finished. When the button is pressed, it displays a prompt asking the user to scan the barcode or cancel.
Pressing the button Scan Barcodestarts a new action that starts the scan.
I have the following code to read the scan results upon returning from the scan:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
;
if (resultCode == Activity.RESULT_OK && requestCode == 0) {
Bundle extras = data.getExtras();
String result = extras.getString("SCAN_RESULT");
}
Toast.makeText(Visit.this, "request code: "+requestCode+" result code = "+resultCode+ "\nRESULT_OK: "+Activity.RESULT_OK, Toast.LENGTH_SHORT).show();
}
Which is very simple (at the moment) displays the result of activity in a toast message.
, onActivityResult , onActivityResult -.
, logcat. , , onActivityResult , -1
? onActivityResult ?