From zxing on Scanning Via Intent:
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
}
}
}
You can leverage Barcode Scanner with the IntentIntegrator and IntentResult classes also, rather than doing it manually. It makes it very easy to use Barcode Scanner to retrieve bar codes, and even deals with cases where the user doesn't yet have Barcode Scanner installed. I used the IntentIntegrator
class in my own app that requires scanning bar codes and retrieving the data.