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
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.
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
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
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
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.