Scanbot SDK has been acquired by Apryse! Learn more

Learn more
Skip to content

Android QR Code Scanner SDK

The Scanbot Android QR Code Scanner SDK adds fast and reliable barcode scanning to your Android apps.

Trusted by 400+ global
industry leaders

Thalia Logo Logo United Airlines blue Volvo Customer Shiseido Customer Procter & Gamble Customer Generali Success Story Deutsche Telekom Case Study Deutsche Bahn Success Story AXA Success Story ArcBest Customer Thalia Logo Logo United Airlines blue Volvo Customer Shiseido Customer Procter & Gamble Customer Generali Success Story Deutsche Telekom Case Study Deutsche Bahn Success Story AXA Success Story ArcBest Customer

Real-time AR feedback

Deliver real-time AR feedback while scanning QR codes, enhancing user interaction in your Android app. Visual cues guide users to faster and more accurate scanning.

Barcode scanning in challenging conditions

QR code scanning in challenging conditions

The Android QR Code Scanner SDK is optimized for reliable performance even in challenging environments:

  • Damaged QR codes
  • Low-light environments
  • Tiny or distant QR codes

Customizable UI components

Our Ready-To-Use UI components cover all barcode scanning scenarios and are highly customizable. Learn more

Fast.
Very fast.
Every scan happens in 0.04s or less

Scans all major barcode types Code 39 Code 93 Code 32 Code 25 EAN-5 PDF417 GS1 DataBar Code 39 Code 93 Code 32 Code 25 EAN-5 PDF417 GS1 DataBar EAN-13 MSI Plessey EAN-2 Aztec Code rMQR Code Codabar UPC-A EAN-13 MSI Plessey EAN-2 Aztec Code rMQR Code Codabar UPC-A EAN-8 ISBN GiroCode GS1-128 Data Matrix IATA 2 of 5 EAN-8 ISBN GiroCode GS1-128 Data Matrix IATA 2 of 5 Code 128 Code 11 QR Code UPC-E Micro QR Code MaxiCode Code 128 Code 11 QR Code UPC-E Micro QR Code MaxiCode

Add a fast and reliable Android QR Code Scanner SDK to your app

Integrate the Scanbot QR Code Scanner SDK seamlessly into your Android applications. Our SDK provides easy-to-use APIs for scanning and parsing QR codes using the device camera or from images.

The Scanbot Barcode Scanner SDK supports a wide variety of 1D and 2D barcodes, including EAN, PDF417, UPC, and QR Code. The Android QR Code Scanner SDK scans regular QR Codes, Micro QR Codes, rMQR Codes, Giro Codes, and Swiss QR Codes.

With our Ready-To-Use UI (RTU UI) components, you can quickly set up and customize the QR code scanner’s interface to fit your app’s design and workflow – no extensive coding required. The SDK performs exceptionally well in low-light environments and can handle partially damaged QR codes, making it reliable in challenging conditions.

Need help? Reach out to our technical support team to guide you through the integration process and help you get the most out of the Scanbot Android QR Code Scanner SDK.

Technical requirements

The Scanbot Android Barcode Scanner SDK has the following technical requirements:

 

  • Operating System: Android 5.0 (API Level 21) and higher, HarmonyOS 2.0 and higher
  • Hardware: A rear-facing camera with autofocus
  • Supported Architectures: armeabi-v7a, arm64-v8a, x86, x86_64

 

Integrate this afternoon
with

Features

Discover common Android QR code scanning use cases

See how the scan modes of the Scanbot Android QR Code Scanner can improve your workflows.

  • Single Scanning

    Single Scanning mode captures one QR Code at a time. This mode is ideal for simple tasks such as re-ordering a product or looking up stock. An optional confirmation sheet lets users verify the scanned value before submitting.

  • Batch Scanning

  • Multi Scanning

  • Find & Pick

  • Scan & Count

Single scanning Batch scanning Multi Scanning Find and Pick Scan and Count

How to integrate the Scanbot Android QR Code Scanner using Ready-To-Use UI

To integrate the Scanbot Android Barcode Scanner SDK, add the SDK dependencies to your project, initialize the SDK with your license key, and launch a scanning mode via the Ready-To-Use UI.

 

Adding the RTU UI dependency

 

The RTU UI Components are distributed as a separate package rtu-ui-v2-barcode. Add it as a dependency to your project:

 

implementation("io.scanbot:rtu-ui-v2-barcode:$scanbotBarcodeSdkVersion")

 

Get the latest $scanbotBarcodeSdkVersion from the changelog.

 

Launching the RTU UI Barcode Scanner

 

With just a few lines of code, you can integrate barcode scanning into your application’s workflow. It is as easy as starting an Android activity.

 

import android.os.Bundle
import io.scanbot.example.sdk.barcode.R
import androidx.appcompat.widget.AppCompatButton
import androidx.appcompat.app.AppCompatActivity
import android.widget.Toast
import androidx.activity.result.ActivityResultLauncher
import io.scanbot.common.onFailure
import io.scanbot.common.onSuccess
import io.scanbot.common.Result
import io.scanbot.common.onCancellation
import io.scanbot.sdk.barcode_scanner.ScanbotBarcodeScannerSDKInitializer
import io.scanbot.sdk.ui_v2.barcode.BarcodeScannerActivity
import io.scanbot.sdk.ui_v2.barcode.configuration.BarcodeScannerScreenConfiguration

class StartRtuUiActivitySnippetActivity : AppCompatActivity() {

    // Adapt the 'onCreate' method in your Activity (for example, MainActivity.kt):
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.doc_snippet_activity_rtu_barcode_scanner_start)

        // Initialize the SDK here:
        ScanbotBarcodeScannerSDKInitializer()
            // optional: uncomment the next line if you have a license key
            // .license(this.application, LICENSE_KEY)
            .initialize(this.application)

        // The call to BarcodeScannerActivity.ResultContract() must be done after the SDK initialization
        val barcodeScreenLauncher: ActivityResultLauncher =
            registerForActivityResult(BarcodeScannerActivity.ResultContract()) { resultEntity ->
                resultEntity.onSuccess { result ->
                    // Barcode Scanner result callback:
                    // Get the first scanned barcode from the result object...
                    val barcodeItem = result.items.first()
                    // ... and process the result as needed, for example, display as a Toast:
                    Toast.makeText(
                        this@StartRtuUiActivitySnippetActivity,
                        "Scanned: ${barcodeItem?.barcode?.text} (${barcodeItem?.barcode?.format})",
                        Toast.LENGTH_LONG
                    ).show()
                }.onCancellation {
                    // Indicates that the cancel button was tapped. Or screen is closed by other reason.
                }.onFailure {
                    // Optional activity closing cause handling to understand the reason scanner result is not provided
                    when (it) {
                        is Result.InvalidLicenseError -> {
                            // indicate that the Scanbot SDK license is invalid
                        }

                        else -> {
                            // Handle other errors
                        }
                    }
                }
            }

        val config = BarcodeScannerScreenConfiguration().apply {
            // TODO: configure as needed
        }

        findViewById(R.id.start_barcode_rtu_button).setOnClickListener {
            // Launch the barcode scanner:
            barcodeScreenLauncher.launch(config)
        }
    }
}

 

Frequently Asked Questions

What is an Android QR code scanner SDK?

An Android QR code scanner SDK is a software development kit that enables developers to integrate QR code and barcode scanning capabilities into their Android mobile applications. It provides the necessary tools and APIs to implement fast and accurate QR code reading functionality.

How can I add QR code scanning to my Android app?

To add QR code scanning to your Android app, use a scanner SDK like Scanbot SDK that supports Android. Integrate the SDK into your project, initialize it in your app's onCreate() method, and use its API to create a scanning interface. Implement the scanning functionality by calling the SDK's methods when the user activates the scanner, then process the scan results in your code.

Can an Android QR code scanner SDK read other types of barcodes?

Yes, most Android QR code scanner SDKs, including the Scanbot SDK, can read various barcode types. While optimized for QR codes, they typically support other 2D formats like Data Matrix and PDF417, as well as 1D barcodes such as EAN and Code 128. This versatility allows your app to handle a wide range of barcode scanning needs.

Is it possible to scan QR codes from images using an Android scanner SDK?

Yes, the Scanbot SDK for Android supports scanning QR codes from static images as well as real-time camera scanning. This feature allows your app to process QR codes from uploaded or stored images, providing flexibility for various use cases such as processing QR codes from screenshots or photos.

Does the Android QR Code Scanner SDK work offline?

Yes, the Scanbot Android QR Code Scanner SDK operates entirely offline. All QR code scanning and data processing occurs locally on the device, ensuring data privacy and allowing for usage in areas with limited or no internet connectivity. This makes it ideal for apps that need to function in various network conditions.

How can I customize the UI of the Android QR code scanner?

The Scanbot Android QR Code Scanner SDK offers customizable UI components. You can adjust elements such as the scanner overlay color, scan area size, button styles, and custom messages. The SDK provides methods to tailor the scanning interface to match your app's design. Refer to the SDK's documentation for specific Android UI customization options.

What's the best way to improve QR code scanning performance in my Android app?

To achieve superior QR code scanning in your Android app, use a machine learning-based solution like the Scanbot SDK. ML-powered SDKs offer more robust and accurate scanning compared to traditional algorithm-based scanners. They handle challenging conditions better, including poor lighting and damaged QR codes. This approach typically results in faster recognition, higher accuracy, and improved performance across various Android devices, significantly enhancing your app's QR code scanning capabilities.

Can the Android QR code scanner SDK read multiple QR codes simultaneously?

Yes, advanced Android QR code scanner SDKs like the Scanbot SDK support multi-code scanning. This feature allows the SDK to detect and decode multiple QR codes within the camera frame simultaneously, improving efficiency in scenarios where batch QR code processing is required.