java - 二维码扫描仪无法在 android 6.0.1 中运行(显示白屏)

标签 java android qr-code zxing

二维码扫描仪无法在 Android 6.0.1 即 Redmi Note 4 中运行(显示白屏且相机未打开)。此外,该应用程序在我的 kit-kat(4.4)和 Lollipop 设备(5.1)上运行得非常好。请解释导致该问题的原因。

package com.example.android.qrking;

import android.app.Activity;
import android.support.v7.app.AlertDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.google.zxing.Result;
import me.dm7.barcodescanner.zxing.ZXingScannerView;

public class MainActivity extends Activity implements ZXingScannerView.ResultHandler{
    private  ZXingScannerView mScannerView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mScannerView = new ZXingScannerView(this);
    }

    public void onClick(View v){

        setContentView(mScannerView);
        mScannerView.setResultHandler(this);
        mScannerView.startCamera();
    }

    @Override
    protected void onPause() {
        super.onPause();
        mScannerView.stopCamera();
    }

    @Override
    public void handleResult(Result result){
        Log.v("handler result", result.getText());
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("scan results");
        builder.setMessage(result.getText());
        AlertDialog alertDialog = builder.create();
        alertDialog.show();
        //uncomment to scan again
        mScannerView.resumeCameraPreview(this);
    }
}

我的布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.android.qrking.MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Scan qr code"
        android:layout_centerInParent="true"
        android:onClick="onClick"/>
</RelativeLayout>

最佳答案

使用 zxing 的正确方法是发送一个它将处理的 Intent。请参阅http://github.com/zxing/zxing/wiki/Scanning-Via-Intent有关如何执行此操作的详细信息。

关于java - 二维码扫描仪无法在 android 6.0.1 中运行(显示白屏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43100347/

相关文章:

java - 使用 Spring Boot 的 Spring Batch - 从不重试写入错误

java - Android 静态引用强吗

java - TCP 服务器-客户端大 json

android - Camera.setPreviewCallback(PreviewCallback)不工作

android - 在 Android Studio 中使用 ZXING 更改 QR 扫描仪方向

ios - 来自使用 IOS 7 API 的文件的 QRCode

swing - Jframe 窗口无法使用我的可执行 jar 打开

java - setText 方法不适用于 Java 中的 javax.swing.JLabel

c# - 我可以通过蓝牙将签名的 APK 发送到设备以快速测试构建吗

android - 如何制作二维码阅读器