Я просто хотел интегрировать ZXing API в свое приложение для Android, но не могу найти подходящую документацию.
Как интегрировать ZXing API с фронтальной камерой в Android?
Ответы (3)
Следуй этим шагам:
1) Загрузите исходный код здесь: http://code.google.com/p/zxing/source/checkout
2) Импортируйте исходный код как новый проект в Eclipse и сделайте корнем проекта папку /android (найденную в исходном коде).
3) Не забудьте также скопировать все в /core/src в этот проект, так как исходный код, импортированный на шаге 2, требует этого.
4) Убедитесь, что ваш компилятор настроен на Java 1.6 в Eclipse (щелкните правой кнопкой мыши свой проект, свойства, компилятор Java), иначе вы получите некоторые ошибки, связанные с аннотацией @Override.
5) Отредактируйте класс com.google.zxing.client.android.camera.open.GingerbreadOpenCameraInterface следующим образом:
while (index < numCameras) {
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
Camera.getCameraInfo(index, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
break;
}
/*//Original code (gets the back camera. This is NOT what you want!)
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
break;
}*/
index++;
}
5) Сделайте этот проект библиотекой, как легко описано здесь: http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject
6) Ссылайтесь на этот проект в свой реальный проект (щелкните правой кнопкой мыши на своем реальном проекте, свойствах, пути сборки Java, проектах, добавить).
7) Готово! знак равно
Надеюсь, поможет.
Последняя версия сканера штрих-кода, а также Исходный код ZXing теперь поддерживает фронтальную камеру.
ОБНОВИТЬ:
Поскольку часто задаваемые вопросы ZXing были обновлены с тех пор, как я опубликовал этот ответ, приведенное ниже содержание больше не соответствует действительности:
Прочитали ли вы часто задаваемые вопросы от ZXing?
Можно ли это использовать на устройствах Android, оснащенных только фронтальной камерой, например на планшетах Nexus 7? В настоящее время нет. Для приложения требуется камера. В Android «настоящими» камерами считаются только задние камеры, поэтому устройства только с передней камерой несовместимы. Кроме того, поддержка API для фронтальных камер появилась в более поздней версии Android, чем требуется приложению в настоящее время. Фронтальные камеры, как правило, имеют менее чувствительную ПЗС-матрицу и не имеют автофокуса, что в любом случае затрудняет сканирование с их помощью.
Однако Сканер штрих-кода+ поддерживает устройства с только фронтальная камера.
Кроме того, хотя я думаю, что это не совсем невозможно, если вы можете подключить фронтальную камеру. Поэтому я думаю, вам следует взглянуть на раздел «Камера» документации Android: здесь и здесь