代辦公司營業(yè)執(zhí)照長沙seo推廣公司
Google 掃碼器(僅限 Android)
Google Code Scanner API 提供了全面的掃描解決方案,無需您的應(yīng)用請(qǐng)求相機(jī)權(quán)限,同時(shí)保護(hù)用戶隱私。這是通過將掃描代碼委托給 Google Play 服務(wù)并僅將掃描結(jié)果返回給您的應(yīng)用來完成的(視頻 1)。 所有圖片處理操作都在設(shè)備上進(jìn)行,并且 Google 不會(huì)存儲(chǔ)結(jié)果或圖片數(shù)據(jù)。該 API 支持與機(jī)器學(xué)習(xí)套件條形碼掃描 API?相同的代碼格式,并返回相同的?Barcode?對(duì)象。
此 API 非常適合需要無縫代碼掃描(無需自定義界面或相機(jī)體驗(yàn))的應(yīng)用。該實(shí)現(xiàn)完全屬于 Google Play 服務(wù),可以確保對(duì)應(yīng)用大小的影響最小。
?
對(duì)于需要自定義界面的更復(fù)雜的使用場(chǎng)景,我們建議直接使用?ML Kit Barcode Scanning API。
如果您有任何疑問、想要提交 bug 或需要幫助,請(qǐng)查看機(jī)器學(xué)習(xí)套件社區(qū)頁面。
此 API 使用未捆綁庫,必須先下載才能使用。如需了解詳情,請(qǐng)參閱此指南。
須知事項(xiàng)
此 API 需要 Android API 級(jí)別 21 或更高級(jí)別。確保應(yīng)用的 build 文件使用的?minSdkVersion
?值不小于 21。
為了讓您的應(yīng)用做好準(zhǔn)備,請(qǐng)完成以下部分中的步驟。
配置您的應(yīng)用
-
在頂級(jí)?
settings.gradle
?文件的?dependencyResolutionManagement
?代碼塊下,添加?Google 的 Maven 代碼庫和?Maven 中央代碼庫:dependencyResolutionManagement {repositories {google()mavenCentral()} }
-
將?
play-services-code-scanner
?SDK 的 Google Play 服務(wù)依賴項(xiàng)添加到模塊的 Gradle build 文件(通常為?app/build.gradle
)中:dependencies {implementation 'com.google.android.gms:play-services-code-scanner:16.1.0' }
-
您可以將應(yīng)用配置為讓 Google Play 服務(wù)在您的應(yīng)用從 Play 商店安裝時(shí)自動(dòng)將其下載到設(shè)備上。
<application ...>...<meta-dataandroid:name="com.google.mlkit.vision.DEPENDENCIES"android:value="barcode_ui"/>... </application>
您還可以通過 Google Play 服務(wù)?ModuleInstallClient API?明確檢查掃描器模塊可用性并請(qǐng)求下載。
如果您不啟用安裝時(shí)模塊下載或請(qǐng)求顯式下載,并且掃描器模塊尚未針對(duì)其他用例進(jìn)行安裝,Google Play 服務(wù)會(huì)在首次使用掃描器模塊時(shí)下載該模塊。
掃描二維碼
掃描條形碼以執(zhí)行下列步驟。
-
可選:配置掃碼器。
如果您知道自己要讀取哪些格式的條形碼,可以將條形碼檢測(cè)器配置為僅檢測(cè)這些格式,從而加快條形碼檢測(cè)器的速度。例如,如需僅檢測(cè) Aztec 碼和 QR 碼,請(qǐng)按照以下示例構(gòu)建?GmsBarcodeScannerOptions?對(duì)象:
KotlinJava
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder().setBarcodeFormats(Barcode.FORMAT_QR_CODE,Barcode.FORMAT_AZTEC).build();
默認(rèn)情況下,自動(dòng)縮放功能處于關(guān)閉狀態(tài)。如需啟用 16.1.0 及更高版本的自動(dòng)縮放功能,請(qǐng)調(diào)用?
enableAutoZoom()
,如以下代碼示例所示。KotlinJava
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder().setBarcodeFormats(...).enableAutoZoom() // available on 16.1.0 and higher.build();
-
獲取?GmsBarcodeScanner?的實(shí)例,如代碼示例所示:
KotlinJava
GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(this); // Or with a configured options // GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(context, options);
-
通過調(diào)用?startScan()?請(qǐng)求代碼掃描。
KotlinJava
scanner.startScan().addOnSuccessListener(barcode -> {// Task completed successfully}).addOnCanceledListener(() -> {// Task canceled}).addOnFailureListener(e -> {// Task failed with an exception});
-
處理生成的?Barcode。
KotlinJava
String rawValue = barcode.getRawValue();