Гаджеты. Компьютеры. Железо. Windows. Интернет

Qr код на самсунг где находится. Как сканировать QR-код с помощью iPhone

Я создал приложение, которое может сканировать QR-код. Он хорошо работает со всеми устройствами Android, за исключением Samsung Galaxy s4 .
Приложение не сканирует QR-код при использовании устройства Galaxy s4.
Теперь, когда эта Galaxy s4 имеет версию Android 4.2.2, я также проверил свое приложение на других устройствах, имеющих такую же версию Android (4.2.2), что и Nexus-4, и с ней все отлично работает.
Является ли какое-либо другое оборудование, используемое для сканирования QR-кода в Galaxy s4?
Нужна помощь в решении этой странной проблемы!

Ниже приведен код, который я использовал в своем приложении.

CameraManager.java

/** * This object wraps the Camera service object and expects to be the only one talking to it. The * implementation encapsulates the steps needed to take preview-sized images, which are used for * both preview and decoding. * * @author [email protected] (Daniel Switkin) */ public final class CameraManager { private static final String TAG = CameraManager.class.getSimpleName(); private static final int MIN_FRAME_WIDTH = 240; private static final int MIN_FRAME_HEIGHT = 240; private static final int MAX_FRAME_WIDTH = 480; private static final int MAX_FRAME_HEIGHT = 360; private static CameraManager cameraManager; static final int SDK_INT; // Later we can use Build.VERSION.SDK_INT static { int sdkInt; try { sdkInt = Integer.parseInt(Build.VERSION.SDK); } catch (NumberFormatException nfe) { // Just to be safe sdkInt = 10000; } SDK_INT = sdkInt; } private final Context context; private final CameraConfigurationManager configManager; private Camera camera; private Rect framingRect; private Rect framingRectInPreview; private boolean initialized; private boolean previewing; private boolean reverseImage; private final boolean useOneShotPreviewCallback; /** * Preview frames are delivered here, which we pass on to the registered handler. Make sure to * clear the handler so it will only receive one message. */ private final PreviewCallback previewCallback; /** Autofocus callbacks arrive here, and are dispatched to the Handler which requested them. */ private final AutoFocusCallback autoFocusCallback; /** * Initializes this static object with the Context of the calling Activity. * * @param context The Activity which wants to use the camera. */ public static void init(Context context) { if (cameraManager == null) { cameraManager = new CameraManager(context); } } /** * Gets the CameraManager singleton instance. * * @return A reference to the CameraManager singleton. */ public static CameraManager get() { return cameraManager; } private CameraManager(Context context) { this.context = context; this.configManager = new CameraConfigurationManager(context); // Camera.setOneShotPreviewCallback() has a race condition in Cupcake, so we use the older // Camera.setPreviewCallback() on 1.5 and earlier. For Donut and later, we need to use // the more efficient one shot callback, as the older one can swamp the system and cause it // to run out of memory. We can"t use SDK_INT because it was introduced in the Donut SDK. useOneShotPreviewCallback = Integer.parseInt(Build.VERSION.SDK) > 3; // 3 = Cupcake previewCallback = new PreviewCallback(configManager, useOneShotPreviewCallback); autoFocusCallback = new AutoFocusCallback(); } /** * Opens the camera driver and initializes the hardware parameters. * * @param holder The surface object which the camera will draw preview frames into. * @throws IOException Indicates the camera driver failed to open. */ public void openDriver(SurfaceHolder holder) throws IOException { if (camera == null) { camera = Camera.open(); if (camera == null) { throw new IOException(); } } camera.setPreviewDisplay(holder); if (!initialized) { initialized = true; configManager.initFromCameraParameters(camera); } configManager.setDesiredCameraParameters(camera); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); reverseImage = prefs.getBoolean(PreferencesActivity.KEY_REVERSE_IMAGE, false); if (prefs.getBoolean(PreferencesActivity.KEY_FRONT_LIGHT, false)) { FlashlightManager.enableFlashlight(); } } /** * Closes the camera driver if still in use. */ public void closeDriver() { if (camera != null) { FlashlightManager.disableFlashlight(); camera.release(); camera = null; // Make sure to clear these each time we close the camera, so that any scanning rect // requested by intent is forgotten. framingRect = null; framingRectInPreview = null; } } /** * Asks the camera hardware to begin drawing preview frames to the screen. */ public void startPreview() { if (camera != null && !previewing) { camera.startPreview(); previewing = true; } } /** * Tells the camera to stop drawing preview frames. */ public void stopPreview() { if (camera != null && previewing) { if (!useOneShotPreviewCallback) { camera.setPreviewCallback(null); } camera.stopPreview(); previewCallback.setHandler(null, 0); autoFocusCallback.setHandler(null, 0); previewing = false; } } /** * A single preview frame will be returned to the handler supplied. The data will arrive as byte * in the message.obj field, with width and height encoded as message.arg1 and message.arg2, * respectively. * * @param handler The handler to send the message to. * @param message The what field of the message to be sent. */ public void requestPreviewFrame(Handler handler, int message) { if (camera != null && previewing) { previewCallback.setHandler(handler, message); if (useOneShotPreviewCallback) { camera.setOneShotPreviewCallback(previewCallback); } else { camera.setPreviewCallback(previewCallback); } } } /** * Asks the camera hardware to perform an autofocus. * * @param handler The Handler to notify when the autofocus completes. * @param message The message to deliver. */ public void requestAutoFocus(Handler handler, int message) { if (camera != null && previewing) { autoFocusCallback.setHandler(handler, message); //Log.d(TAG, "Requesting auto-focus callback"); camera.autoFocus(autoFocusCallback); } } /** * Calculates the framing rect which the UI should draw to show the user where to place the * barcode. This target helps with alignment as well as forces the user to hold the device * far enough away to ensure the image will be in focus. * * @return The rectangle to draw on screen in window coordinates. */ public Rect getFramingRect() { if (framingRect == null) { if (camera == null) { return null; } Point screenResolution = configManager.getScreenResolution(); int width = screenResolution.x * 3 / 4; if (width < MIN_FRAME_WIDTH) { width = MIN_FRAME_WIDTH; } else if (width > MAX_FRAME_WIDTH) { width = MAX_FRAME_WIDTH; } int height = screenResolution.y * 3 / 4; if (height < MIN_FRAME_HEIGHT) { height = MIN_FRAME_HEIGHT; } else if (height > MAX_FRAME_HEIGHT) { height = MAX_FRAME_HEIGHT; } int leftOffset = (screenResolution.x - width) / 2; int topOffset = (screenResolution.y - height) / 2; framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height); Log.d(TAG, "Calculated framing rect: " + framingRect); } return framingRect; } /** * Like {@link #getFramingRect} but coordinates are in terms of the preview frame, * not UI / screen. */ public Rect getFramingRectInPreview() { if (framingRectInPreview == null) { Rect rect = new Rect(getFramingRect()); Point cameraResolution = configManager.getCameraResolution(); Point screenResolution = configManager.getScreenResolution(); /* updated to allow for portrait instead of landscape rect.left = rect.left * cameraResolution.y / screenResolution.x; rect.right = rect.right * cameraResolution.y / screenResolution.x; rect.top = rect.top * cameraResolution.x / screenResolution.y; rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y; */ rect.left = rect.left * cameraResolution.x / screenResolution.x; rect.right = rect.right * cameraResolution.x / screenResolution.x; rect.top = rect.top * cameraResolution.y / screenResolution.y; rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y; framingRectInPreview = rect; } return framingRectInPreview; } /** * Allows third party apps to specify the scanning rectangle dimensions, rather than determine * them automatically based on screen resolution. * * @param width The width in pixels to scan. * @param height The height in pixels to scan. */ public void setManualFramingRect(int width, int height) { Point screenResolution = configManager.getScreenResolution(); if (width > screenResolution.x) { width = screenResolution.x; } if (height > screenResolution.y) { height = screenResolution.y; } int leftOffset = (screenResolution.x - width) / 2; int topOffset = (screenResolution.y - height) / 2; framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height); Log.d(TAG, "Calculated manual framing rect: " + framingRect); framingRectInPreview = null; } /** * A factory method to build the appropriate LuminanceSource object based on the format * of the preview buffers, as described by Camera.Parameters. * * @param data A preview frame. * @param width The width of the image. * @param height The height of the image. * @return A PlanarYUVLuminanceSource instance. */ public PlanarYUVLuminanceSource buildLuminanceSource(byte data, int width, int height) { Rect rect = getFramingRectInPreview(); int previewFormat = configManager.getPreviewFormat(); String previewFormatString = configManager.getPreviewFormatString(); switch (previewFormat) { // This is the standard Android format which all devices are REQUIRED to support. // In theory, it the only one we should ever care about. case PixelFormat.YCbCr_420_SP: // This format has never been seen in the wild, but is compatible as we only care // about the Y channel, so allow it. case PixelFormat.YCbCr_422_SP: return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, rect.width(), rect.height(), reverseImage); default: // The Samsung Moment incorrectly uses this variant instead of the "sp" version. // Fortunately, it too has all the Y data up front, so we can read it. if ("yuv420p".equals(previewFormatString)) { return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, rect.width(), rect.height(), reverseImage); } } throw new IllegalArgumentException("Unsupported picture format: " + previewFormat + "/" + previewFormatString); } }

PreviewCallback.java

Final class PreviewCallback implements Camera.PreviewCallback { private static final String TAG = PreviewCallback.class.getSimpleName(); private final CameraConfigurationManager configManager; private final boolean useOneShotPreviewCallback; private Handler previewHandler; private int previewMessage; PreviewCallback(CameraConfigurationManager configManager, boolean useOneShotPreviewCallback) { this.configManager = configManager; this.useOneShotPreviewCallback = useOneShotPreviewCallback; } void setHandler(Handler previewHandler, int previewMessage) { this.previewHandler = previewHandler; this.previewMessage = previewMessage; } public void onPreviewFrame(byte data, Camera camera) { Point cameraResolution = configManager.getCameraResolution(); if (!useOneShotPreviewCallback) { camera.setPreviewCallback(null); } if (previewHandler != null) { Message message = previewHandler.obtainMessage(previewMessage, cameraResolution.x, cameraResolution.y, data); message.sendToTarget(); previewHandler = null; } else { Log.d(TAG, "Got preview callback, but no handler for it"); } } }

If you are looking for a QR code scanner in the preinstalled applications on your Samsung Galaxy S8, then you will most probably not find it. The QR Code Scanner, which is also suitable for reading bar codes, has been integrated into another app. And this is the Internet browser.

We now explain to you how to activate the QR reader on the Samsung Galaxy S8 and then use it:

Activate the extension in the Internet browser

Please open the Internet browser on your Samsung Galaxy S8. In the upper right corner, tap the icon with the three dots - A menu appears.

Now select "Extensions" and then activate the controller with "QR code reader"

Scan QR codes

To do this, tap the symbol with the three dots again in the upper right corner. A new menu item is now "Scan QR Code". Select this and confirm that Samsung is allowed to use your camera. Then you can scan a QR code. The result will be displayed directly in the browser.

You now know the procedure to scan a QR code on the Samsung Galaxy S8.


QR-код - специальный матричный код, разработанный еще в 1994 году, который приобрел широкую известность лишь несколько лет назад. Под QR-кодом может быть скрыта самая разнообразная информация: ссылка на веб-сайт, изображение, электронная визитка и т.д. Сегодня мы рассмотрим, какие существуют методы распознавания QR-кодов на iPhone.

На iPhone отсканировать QR-код можно двумя способами: штатными средствами и с помощью специальных приложений.

Способ 1: Приложение Камера

В iOS 11 появилась одна очень интересная возможность: теперь приложение Камера может автоматически искать и распознавать QR-коды. Вам потребуется лишь убедиться, что соответствующая настройка включена в параметрах смартфона.

Способ 2: QRScanner

Сторонние приложения для сканирования, которые распространяются в App Store, предоставляют больше возможностей, нежели штатные средства iPhone. Более того, если вы являетесь владельцем устаревшей модели яблочного смартфона, то наверняка у вас нет возможности обновиться до одиннадцатой версии. А значит, подобные приложения - это единственная возможность наделить свой телефон функцией сканирования.

Способ 3: Kaspersky QR Scanner

Не все ссылки, которые скрываются под QR-кодами, являются безопасными. Некоторые из них ведут на вредоносные и фишинговые ресурсы, которые могут нанести серьезный вред устройству и вашей конфиденциальности. И чтобы обезопасить себя от возможной угрозы, рекомендуется использовать приложение Kaspersky QR Scanner, которое является не только сканером, но и защитным инструментом против вредоносных веб-сайтов.

QR-код - это аналог более старого штрих-кода. Однако в отличие от него он является более защищенным и практичным. Штрих-код мог указать лишь некоторую информацию, такую, как, например, адрес сайта. QR же несет в себе гораздо больше данных и позволяет включать в себя все, что угодно. Благодаря всему вышеперечисленному на Андроид появилось много программ для сканирования такого кода. В данной статье мы как раз и поговорим о том, как это делается.

Для того чтобы сканировать и расшифровывать QR-код, вам понадобится, собственно, смартфон или планшет на базе Android с интегрированной камерой. Также потребуется установить специальное приложение.

Программ, способных справиться с данной задачей, в сети очень много, равно, как много их и в Google Play. Именно оттуда мы и будем скачивать 3 наших номинанта. Почему так? Да все просто – загружая софт из фирменного магазина Андроид, вы гарантировано не получите вирус.

Не будем, как говорится, лить воду, и сразу перейдем к вопросу чтения QR-кодов. Для того чтобы это сделать, будут использоваться 3 лучших сторонних приложения, а также стандартные средства. Правда, они есть лишь в некоторых моделях телефонов.

QR BARCODE SCANNER

Первая программа в нашем списке – это QR BARCODE SCANNER, скачать который можно либо в Плей Маркет, либо перейдя по этой ссылке на официальный сайт утилиты. В своей инструкции мы покажем именно вариант с магазином, так как он является более универсальным. К тому же многие из вас читают эти строки с ПК, поэтому не смогут воспользоваться ссылкой. Итак, приступаем.

  1. В статье есть 3 программы, способные считывать и расшифровывать QR. Мы покажем только установку первой из них: инсталляция остальных проводится точно так же. В первую очередь открываем магазин приложений. Найти его можно либо на домашнем экране, либо в меню приложений ОС.

  1. В верхней части окна Google Play есть поисковая строка. Именно ею мы и воспользуемся. Активируем и пишем название нашего приложения. Вводить его до конца необязательно. Как только в поисковой выдаче появится обозначенный на скриншоте объект, просто тапайте по нему.

  1. Мы будем переадресованы на домашнюю страничку программы. Тут есть большая зеленая кнопка с надписью «УСТАНОВИТЬ». Нажмите ее.

  1. Дожидаемся окончания скачивания приложения. Так как оно «весит» немногим менее 5 МБ, процесс не займет много времени.

  1. Готово. После того как автоматическая инсталляция будет окончена, мы сможем запустить программу прямо отсюда.

  1. Также на домашнем экране (если активировано в настройках) появится ярлык запуска.

На этом установка программы завершена, и мы можем переходить к обзору работы с нею.

На скриншоте ниже вы видите программный интерфейс. Тут он поделен на 3 основные вкладки. Также есть иконка настроек, выполненная в виде шестеренки. На главной вкладке «SCAN» находятся 4 основных инструмента:

  • Scan Barcode. Это и есть сканер QR, который работает посредством камеры;
  • Manual Key-in. Функция ручного ввода данных о коде;
  • Decode from File. Декодирование из файла. Отсюда можно открыть ранее загруженный QR-код и считать его;
  • Decode from Url. Сканирование по ссылке.

Внизу находятся несколько кнопок, не несущих полезного функционала. На них обращать внимание не следует.

Рассмотрим настройки программы. Их тут довольно много. На ваших экранах будут скриншоты разных областей конфигурации, мы же просто озвучим некоторые самые интересные моменты.

Например, на первом экране можно включить или отключить звук программы. То же самое получится сделать и с виброоткликом. Можно задать режим работы, когда программа начнет запускаться сразу со сканера, минуя главное меню. Еще одной важной особенностью является автоматическое копирование данных в буфер обмена.

Как только мы захотим начать сканирование и запустим сам сканер, программа запросит доступ к нужным системным ресурсам. Естественно, его нужно разрешить. Жмем кнопку, отмеченную на скриншоте.

Далее, наводим рамку сканера так, чтобы горизонтальная полоска попала прямо на QR. Старайтесь чтобы ваши руки не дрожали и в то же время следите за фокусировкой. Без нормальной резкости сканирование не удастся.

Для работы QR BARCODE SCANNER в условиях недостаточной освещенности присутствует подсветка.

Как только код будет распознан, вы увидите информацию, приведенную на скриншоте ниже.

Кроме сканирования QR тут можно также создавать их. Для этого переходим в третью вкладку. Мы отметили ее на скриншоте. В виде списка приведены все типы данных, которые можно зашифровать. Поддерживается следующее:

  • контакт телефонной книги;
  • номер телефона;
  • URL-адрес;
  • Email;
  • приложение;
  • местоположение;
  • любой текст;
  • закладка;
  • событие календаря.

Выглядит все это следующим образом:

Когда тип данных будет выбран и задан, нам остается лишь нажать кнопку «Encode». В данном случае мы зашифровали ссылку.

Давайте попробуем зашифровать также произвольный текст. Для этого выбираем нужный пункт.

Вводим фразу в обозначенное поле и жмем кнопку «Encode».

Результат выглядит прекрасно. Давайте еще поменяем его цвет. Жмем кнопку, предназначенную для этого.

Выбираем нужный оттенок из палитры.

И любуемся полученным QR.

Переходим к следующей программе, которая тоже обладает внушительным функционалом.

QR Droid Code Scanner

Еще одно приложение, найти которое можно в Google Play. Также вы можете скачать его по прямой ссылке на сайте Google . Мы же пока рассмотрим саму программу.

Так выглядит ярлык запуска QR Droid Code Scanner – жмем по нему.

Данное приложение, в отличие от предыдущего, выполнено на русском языке и, как только оно запустится, нам понадобится нажать на кнопку с надписью: «НАЧАЛО РАБОТЫ».

Сразу же виден сканер, но для начала давайте разберемся с его настройками. Тапаем по кнопке, расположенной в верхнем правом углу.

В главном меню видны 6 плиток-кнопок, которые переадресуют пользователя в нужный раздел. Вот они:

Все пункты перед вами:

Итак, для того чтобы воспользоваться сканером, нужно активировать его в главном меню и, наведя на QR-код, нажать кнопку «Считать».

Тут выбирается стартовый экран, задается адрес для резервного копирования и настраивается язык программного интерфейса.

Далее мы можем установить механизм сканирования. Используется один из фирменных алгоритмов: Zapper или ZXing. Ниже получится включить или отключить перекрестие, настроить автоматическое действие после сканирования и включить отображение подсказок или копирование ссылки в буфер обмена.

В данном разделе настраивается звуковое сопровождение, включается и выключается вибро. Также конфигурируется процесс записи действий в журнал и взаимодействие с умными часами Android Wear.

Затем у нас получится экспортировать или импортировать резервную копию или установить дату.

Разрешить отправку анонимных данных (лучше отключить), активировать проверку получаемой при сканировании ссылки на безопасность или настроить пакетное сканирование. Ниже доступны такие функции, как масштабирование или подсветка.

Но на этом наши настройки не заканчиваются. Кроме приведенных выше функций, мы имеем следующее:

  • настройка ориентации экрана;
  • работа с фронтальной камерой;
  • парсинг ссылок;
  • показ магазинов.

Выглядит это так:

  • функция расширенного описка;
  • запрет некоторых спецсимволов;
  • активация WEB-предпросмотра;
  • поиск сохраненных изображений.

Последний экран настроек содержит такие интересные функции, как: настройка максимального количества позиций, конфигурация пользовательских CSV, встряхивание «умных» часов и сохранение повторяющихся позиций.

Кроме настроек в меню QR Droid Code Scanner присутствует пункт под названием «Еще». Рассмотрим его функционал.

Тут имеются такие возможности:

Все функции перед вами:

Рассмотрим последнее, но от этого не менее функциональное, приложение в нашем списке.

NeoReader QR & Barcode Scanner

Данную программу, как и другие, вы можете скачать и установить через Google play либо по прямой ссылке . Когда это будет сделано, можно переходить непосредственно к работе с нею.

При первом запуске нам потребуется удовлетворить запрос доступа. Жмем «РАЗРЕШИТЬ».

Затем появится окно с настройками. Тут получится выбрать язык, указать свои страну, пол и возраст. Две галочки, размещенные ниже, позволяют включить или отключить доступ программы к геоданным.

Можно, собственно, приступать к сканированию. Наведите камеру на QR-код и NeoReader QR & Barcode Scanner автоматически распознает его содержимое.

Когда появится табличка, мы сможем либо получить дополнительную информацию о ней, либо открыть в браузере.

Также можно выбрать именно тот обозреватель, который вы хотите.

А вот и результат. Пачка с подгузниками распознана безупречно и мы видим официальный сайт Libero.

Мы думаем, что этих трех программ полностью хватит для любого человека. Выберите наиболее удобную для вас и используйте на свое усмотрение. Мы же поговорим о некоторых особенностях китайских девайсов.

Стандартный функционал

В некоторых смартфонах и планшетах (в зависимости от марки) есть функционал сканирования QR-кодов в штатном исполнении и сделать все можно без приложения. Не будем перечислять их все, затронем лишь модель от Xiaomi.

  1. Для того чтобы считать QR на таком смартфоне нужно, в первую очередь, запустить его стандартную камеру.

  1. Далее, тапаем по кнопке «Режимы».

  1. В верхней правой части экрана находится кнопка настроек. Тапаем по ней.

  1. Найдите обозначенный на скриншоте пункт и включите его.

  1. Теперь, когда перед объективом вашей камеры появится QR-код, будет произведено его автоматическое распознавание. Вы увидите такую ссылку, которая показана на скриншоте ниже.

  1. Откроется окно выбора, в котором можно будет либо скопировать ссылку, либо открыть ее в браузере.

Подводим итоги

В результате мы с вами узнали, как сканировать QR-код на Андроид разными способами. Надеемся статья оказалась для вас полезной. Если вопросы все же остались, задавайте их в комментариях. Мы постараемся помочь каждому.

Если даже этого не произойдет, кто-нибудь из пользователей, находящихся на сайте, обязательно подскажет как выйти из ситуации и даст дельный совет. Вам останется только воплотить его в жизнь.

Помимо приложений соцсетей и игр, на смартфоне не помешает иметь и полезные в быту программы. Сейчас QR-коды встречаются практически повсеместно: на улицах города, упаковках продуктов и визитных карточках. Понятное дело, чтобы прочитать их, понадобится специальный софт. О пяти лучших решениях для этой задачи пойдет речь далее.

QR Droid отличается прежде всего приятным и, что немаловажно, понятным интерфейсом. Приложение давно известно среди пользователей Android-устройств. После запуска вы можете сразу же отсканировать необходимый код. Если в нем была ссылка на веб-страницу, то автоматически произойдет переход во встроенный браузер. Впрочем, это можно отключить в настройках, либо же установить в качестве браузера по умолчанию свой вариант. Интересно также, что прямо из программы вы можете создать собственный QR-код с необходимой информацией.

2. QR Code Reader

Если вы не хотите усложнять себе жизнь и ищите простой сканер, то QR Code Reader станет отличным решением. Здесь лишь камера (можно выбрать и готовое изображение из галереи), история отсканированных QR-кодов и кнопка вспышки, ничего больше.

3. BIDI

Приложение BIDI во многом схожо c QR Droid. Тут у нас есть большие возможности не только по обычному распознаванию QR-кодов, но созданию собственных. Например, визитных карточек. Очень удобно. Есть специальные разделители для номера телефона, адреса, email и т. п. В любое поле можно после внести нужные правки.

4. Neo Reader

Neo Reader, пожалуй, одно из самых мощных решений, поскольку позволяет считывать информацию не только с QR-кодов, но и со штрих-кодов. Прямо как в магазине: если приложению не удастся распознать код, то вы можете вручную ввести цифры, расположенные под ним. Еще есть возможность включить или выключить звук, а также привязку к местоположению. Единственное, что странно, создание собственных QR-кодов непосредственно в программе не предусмотрено. В качестве альтернативы предлагается быстрая ссылка на соответствующий сайт.

5. QR Reader

Первое, что привлекает внимание после запуска, так это движущаяся красная линия. Не уверены, что она выполняют какую-то роль (скорее это просто декоративный элемент), но выглядит интересно. Ещё один момент: приложение, судя по расположению системных кнопок, работает в горизонтальном режиме, имейте это в виду (хотя в режиме чтения весь контент расположен вертикально). В меню есть история сканирований и закладки. Можно создавать свои QR-коды.

А каким приложением для чтения QR-кодов пользуетесь вы?

По материалам AndroidPit