2017-10-30 01:05:11 +08:00
# Barcode Scanner
2017-10-30 04:09:37 +08:00
A flutter plugin for scanning 2D barcodes and QR codes.
This provides a simple wrapper for two commonly used iOS and Android libraries:
iOS: https://github.com/mikebuss/MTBBarcodeScanner
2017-10-30 06:31:33 +08:00
2017-10-30 04:09:37 +08:00
Android: https://github.com/dm77/barcodescanner
2017-10-30 01:05:11 +08:00
### Features
- [x] Scan 2D barcodes
- [x] Scan QR codes
- [x] Control the flash while scanning
2018-01-12 18:57:19 +08:00
- [x] Permission handling
2017-10-30 04:09:37 +08:00
- [ ] Support multiple barcode libraries
2017-10-30 01:05:11 +08:00
## Getting Started
2017-11-12 06:38:21 +08:00
### Android
2017-10-30 01:05:11 +08:00
For Android, you must do the following before you can use the plugin:
* Add the camera permission to your AndroidManifest.xml
`<uses-permission android:name="android.permission.CAMERA" />`
2018-04-14 00:56:46 +08:00
* Add the BarcodeScanner activity to your AndroidManifest.xml. Do NOT modify the name.
2017-10-30 01:05:11 +08:00
`<activity android:name="com.apptreesoftware.barcodescan.BarcodeScannerActivity"/>`
2018-04-14 00:56:46 +08:00
* This plugin is written in Kotlin. Therefore, you need to add Kotlin support to your project. See [installing the Kotlin plugin ](https://kotlinlang.org/docs/tutorials/kotlin-android.html#installing-the-kotlin-plugin ).
Edit your project-level build.gradle file to look like this:
buildscript {
2019-05-31 18:45:50 +08:00
ext.kotlin_version = '1.3.21'
2018-04-14 00:56:46 +08:00
...
dependencies {
...
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
...
Edit your app-level build.gradle file to look like this:
apply plugin: 'kotlin-android'
...
dependencies {
2019-05-31 18:45:50 +08:00
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
2018-04-14 00:56:46 +08:00
...
}
Now you can depend on the barcode_scan plugin in your pubspec.yaml file:
dependencies:
...
2019-04-28 23:10:22 +08:00
barcode_scan: any
2018-04-14 00:56:46 +08:00
Click "Packages get" in Android Studio or run `flutter packages get` in your project folder.
2017-10-30 01:05:11 +08:00
### iOS
To use on iOS, you must add the the camera usage description to your Info.plist
< key > NSCameraUsageDescription< / key >
2017-11-12 06:38:21 +08:00
< string > Camera permission is required for barcode scanning.< / string >