This is a small sample library that scans QR Codes using the new Mobile Vision API for Android included in latest release of Google Play Services, which allows you to avoid using external libraries.
Feel free to use this project as a small sample of how to use this API for scanning QR Codes and customize it however you want ;)
- Android SDK version 9 or later.
compile project(':AndroidVisionQRReader')
Or you can put the AndroidVisionQRReader.aar
file inside libs directory and add the following dependency:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'AndroidVisionQRReader', ext:'aar')
}
-
Edit AndroidManifest.xml. We're going to add a few additional items in here:
<uses-sdk android:minSdkVersion="9" />
-
Also in your
<manifest>
element, make sure the following permissions and features are present:<uses-permission android:name="android.permission.CAMERA" /> <meta-data android:name="com.google.android.gms.vision.DEPENDENCIES" android:value="barcode" />
-
Within the
<application>
element, add activity entries:<!-- Activities responsible for scan QR code --> <activity android:name="com.gnzlt.AndroidVisionQRReader.QRActivity" />
First, we'll assume that you're going to launch the request from a button,
and that you've set the button's onClick
handler in the layout XML via android:onClick="requestQRCodeScan"
.
Then, add the method as:
public void requestQRCodeScan(View v) {
Intent qrScanIntent = new Intent(this, QRActivity.class);
startActivityForResult(qrScanIntent, QR_REQUEST);
}
Next, we'll override onActivityResult()
to get the request result.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == QR_REQUEST) {
if (resultCode == RESULT_OK) {
String qrData = data.getStringExtra(QRActivity.EXTRA_QR_RESULT);
// do something with the QR data String
} else {
mResultTextView.setText("Error");
}
}
}
Copyright (C) 2015 Gonzalo Toledano
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.