使用 ML Kit 扫描条形码时出现黑屏而不是 QR 扫描仪

Rea*_*oob 5 android kotlin google-mlkit

在 Android 中创建条形码扫描仪的最简单方法可能是使用 Google Code Scanner API https://developers.google.com/ml-kit/vision/barcode-scanning/code-scanner

然而,这似乎对我不起作用。我在 MainActivity.kt 文件中的代码如下所示:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val options = GmsBarcodeScannerOptions.Builder()
            .setBarcodeFormats(
                Barcode.FORMAT_QR_CODE,
                Barcode.FORMAT_AZTEC)
            .build()

        val scanner = GmsBarcodeScanning.getClient(this, options)

        scanner.startScan()
            .addOnSuccessListener { barcode ->
                val rawValue: String? = barcode.rawValue
            }
            .addOnCanceledListener {
                // Task canceled
            }
            .addOnFailureListener { e ->
                // Task failed with an exception
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

settings.gradle文件有以下代码:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
Run Code Online (Sandbox Code Playgroud)

我的build.gradle文件具有以下依赖项:

implementation 'com.google.android.gms:play-services-code-scanner:16.0.0'
Run Code Online (Sandbox Code Playgroud)

我已将以下内容添加到我的AndroidManifest.xml文件中:

<meta-data
            android:name="com.google.mlkit.vision.DEPENDENCIES"
            android:value="barcode_ui"/>
Run Code Online (Sandbox Code Playgroud)

但是,我在运行应用程序时只会出现黑屏。Google 二维码扫描仪 UI 已显示,但相机似乎无法工作。整个屏幕都是黑色的。

更新:

该应用程序可以在一台设备上运行,但不能在另一台设备上运行。这里可能出了什么问题?

谢谢。