close
以下紀錄Android 開發QR Code 掃描器的方法
開發環境: Windows 10 IDE: Android Studio 3.5.2 API level: 29 (請參考對應表) 手機: ASUS Zenfone Max Pro M2 (4G/128G) 手機Android 版本: 9 |
QR Code 掃描器的實作會用到相機功能,除了在 AndroidManifest 中取得權限外,Android 6 以上也要在程式中取得權限。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="tw.idv.ken.myapplication">
<uses-permission android:name="android.permission.CAMERA"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
|
上述的: <uses-permission android:name="android.permission.CAMERA"></uses-permission> 就是取得相機權限。
接下來要引用 Google 開發的 QR code 掃描器套件,所以需要在 build .gradle 中來執行:
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "tw.idv.ken.myapplication"
minSdkVersion 15
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.android.gms:play-services-vision:16.2.0'
}
|
dependencies中的 implementation 'com.google.android.gms:play-services-vision:16.2.0'就是使用 google 套件
以下是實作的程式碼:
Line 29, 31, 32 這三個物件一定要有。
Line 38 - 54: 取得相機權限的程式碼
Line 59 - 126 是 QR code 掃描器的程式碼,其中 line 96 - 124 是掃描取得結果的處理方式。
結果如下:
Reference:
全站熱搜
留言列表