Ответ 1
Проект ZXing предоставляет автономное приложение для чтения штрих-кодов, которое через механизм намерения Android может быть вызвано другими приложениями, которые хотят интегрировать сканирование штрих-кода.
Самый простой способ сделать это - вызвать ZXing SCAN Intent из вашего приложения, например:
public Button.OnClickListener mScan = new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
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
}
}
}
Нажатие кнопки, связанной с mScan, запустится непосредственно на экран сканера штрих-кода ZXing (или сбой, если ZXing не установлен). Как только штрих-код будет распознан, вы получите результат в своей деятельности, здесь, в переменной содержимого.
Чтобы избежать сбоев и упрощения для вас, ZXing предоставил класс утилиты, который вы могли бы интегрировать в ваше приложение, чтобы сделать установку ZXing более плавным, перенаправляя пользователя на Android Market, если он еще не установлен.
Наконец, если вы хотите интегрировать сканирование штрих-кода прямо в ваше приложение, не полагаясь на то, что у вас установлено отдельное приложение ZXing, тогда это проект с открытым исходным кодом, и вы можете это сделать!:)