Skip to content

仿微信扫一扫,Android端极速二维码/条形码识别。使用CameraX+MLKit机器学习套件实现的急速二维码条形码扫描。支持一屏多码识别、支持双击及手势缩放、支持弱光环境监测提示开启闪光灯、支持相册扫码。

License

Notifications You must be signed in to change notification settings

mtjsoft/CameraXBarcodeScanning

Repository files navigation

BarcodeScanning:

高仿微信扫一扫,Android端极速二维码/条形码识别。 使用CameraX + MLKit机器学习套件实现。

  • 支持一屏多码识别
  • 支持双击及手势缩放
  • 支持弱光环境监测提示开启闪光灯
  • 支持相册扫码
  • CameraX自带生命周期管理
  • Android5.0及以上

效果

效果效果2 效果3效果4

体验APK下载

如何使用

1、在根目录 build.gradle 添加:

allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

2、在app项目下的build.gradle中添加:

dependencies {
	        implementation 'com.github.mtjsoft:CameraXBarcodeScanning:1.3.1'
	}

3、使用前申请相关权限

Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE

4、扫一扫


    /**
     * 开始扫描
     */
    private fun startScann() {
        ScanningManager.instance.openScanningActivity(
            this,
            Config(
                true,
                ScanType.QR_CODE,
                object : AlbumOnClickListener {
                    override fun onClick(v: View, callBack: CallBackFileUri) {
                        // 1、检查申请必要的权限

                        // 2、相册选完图片,回调uri进行识别
                        pictureSelector(callBack)
                    }
                },
                object : ScanResultListener {
                    override fun onSuccessListener(value: String?) {
                        resultView.text = "扫码结果: \n$value"
                    }

                    override fun onFailureListener(error: String) {
                    }

                    override fun onCompleteListener(value: String?) {
                    }
                })
        )
    }


 # Config 参数说明

Config(
    /**
     * 是否开启多码识别
     * 不开启时,取最大范围的
     */
    val enabled: Boolean = true,
    /**
     * 默认扫码类型
     * 二维码 / 条形码
     */
    @ScanType
    val scanType: Int = ScanType.QR_CODE,

    /**
     * 相册点击回调
     */
    var albumOnClickListener: AlbumOnClickListener? = null,
    /**
     * 扫码回调
     */
    val scanResultListener: ScanResultListener? = null
)

5、版本说明

V1.3.1

V1.3.0

  • 相册按钮的处理使用回调交由App自定义处理。SDK不再内置相册处理

V1.2.0

  • 相册选择图片处理

V1.1.0

  • 相册扫码的图片加载引擎外置。详见GlideEngine

About

仿微信扫一扫,Android端极速二维码/条形码识别。使用CameraX+MLKit机器学习套件实现的急速二维码条形码扫描。支持一屏多码识别、支持双击及手势缩放、支持弱光环境监测提示开启闪光灯、支持相册扫码。

Resources

License

Stars

Watchers

Forks

Packages

No packages published