Google 扫码器(仅限 Android)
Google Code Scanner API 提供了全面的扫描解决方案,无需您的应用请求相机权限,同时保护用户隐私。这是通过将扫描代码委托给 Google Play 服务并仅将扫描结果返回给您的应用来完成的(视频 1)。 所有图片处理操作都在设备上进行,并且 Google 不会存储结果或图片数据。该 API 支持与机器学习套件条形码扫描 API 相同的代码格式,并返回相同的 Barcode 对象。
此 API 非常适合需要无缝代码扫描(无需自定义界面或相机体验)的应用。该实现完全属于 Google Play 服务,可以确保对应用大小的影响最小。
对于需要自定义界面的更复杂的使用场景,我们建议直接使用 ML Kit Barcode Scanning API。
如果您有任何疑问、想要提交 bug 或需要帮助,请查看机器学习套件社区页面。
此 API 使用未捆绑库,必须先下载才能使用。如需了解详情,请参阅此指南。
须知事项
此 API 需要 Android API 级别 21 或更高级别。确保应用的 build 文件使用的 minSdkVersion
值不小于 21。
为了让您的应用做好准备,请完成以下部分中的步骤。
配置您的应用
-
在顶级
settings.gradle
文件的dependencyResolutionManagement
代码块下,添加 Google 的 Maven 代码库和 Maven 中央代码库:dependencyResolutionManagement { repositories { google() mavenCentral() } }
-
将
play-services-code-scanner
SDK 的 Google Play 服务依赖项添加到模块的 Gradle build 文件(通常为app/build.gradle
)中:dependencies { implementation 'com.google.android.gms:play-services-code-scanner:16.1.0' }
-
您可以将应用配置为让 Google Play 服务在您的应用从 Play 商店安装时自动将其下载到设备上。
<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode_ui"/> ... </application>
您还可以通过 Google Play 服务 ModuleInstallClient API 明确检查扫描器模块可用性并请求下载。
如果您不启用安装时模块下载或请求显式下载,并且扫描器模块尚未针对其他用例进行安装,Google Play 服务会在首次使用扫描器模块时下载该模块。
扫描二维码
扫描条形码以执行下列步骤。
-
可选:配置扫码器。
如果您知道自己要读取哪些格式的条形码,可以将条形码检测器配置为仅检测这些格式,从而加快条形码检测器的速度。例如,如需仅检测 Aztec 码和 QR 码,请按照以下示例构建 GmsBarcodeScannerOptions 对象:
KotlinJava文章来源地址https://www.toymoban.com/news/detail-635837.html
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder() .setBarcodeFormats( Barcode.FORMAT_QR_CODE, Barcode.FORMAT_AZTEC) .build();
默认情况下,自动缩放功能处于关闭状态。如需启用 16.1.0 及更高版本的自动缩放功能,请调用
enableAutoZoom()
,如以下代码示例所示。KotlinJava
GmsBarcodeScannerOptions options = new GmsBarcodeScannerOptions.Builder() .setBarcodeFormats(...) .enableAutoZoom() // available on 16.1.0 and higher .build();
-
获取 GmsBarcodeScanner 的实例,如代码示例所示:
KotlinJava
GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(this); // Or with a configured options // GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(context, options);
-
通过调用 startScan() 请求代码扫描。
KotlinJava
scanner .startScan() .addOnSuccessListener( barcode -> { // Task completed successfully }) .addOnCanceledListener( () -> { // Task canceled }) .addOnFailureListener( e -> { // Task failed with an exception });
-
处理生成的 Barcode。文章来源:https://www.toymoban.com/news/detail-635837.html
KotlinJava
String rawValue = barcode.getRawValue();
到了这里,关于Google 扫码器(仅限 Android)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!