lmw
2024-09-25 92778728b83ce1a34ba21bcdb061afdeca16cce5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.sinata.xqmuse.ui.home
 
import android.Manifest
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Intent
import android.graphics.Bitmap
import android.util.Log
import androidx.core.content.ContextCompat
import cn.sinata.xldutils.utils.myToast
import com.google.zxing.Result
import com.sinata.xqmuse.R
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.utils.Const
import com.tbruyelle.rxpermissions2.RxPermissions
import com.zxing.scanner.OnScannerCompletionListener
import com.zxing.scanner.common.Scanner
import kotlinx.android.synthetic.main.scanner_activity.*
import org.jetbrains.anko.startActivity
 
class ScannerActivity : TransparentStatusBarActivity(), OnScannerCompletionListener {
    companion object {
        @SuppressLint("CheckResult")
        fun start(context: Activity) {
            RxPermissions(context).request(Manifest.permission.CAMERA)
                .subscribe {
                    if (it) {
                        context.startActivity<ScannerActivity>()
                    } else
                        context.myToast("没有相机权限")
                }
        }
    }
 
 
    override fun setContentView(): Int {
        return R.layout.scanner_activity
    }
 
    override fun initClick() {
    }
 
    override fun initView() {
        scanner_view.setOnScannerCompletionListener(this)
        scanner_view.setDrawText(
            "将账号二维码放入框内,即可自动识别", true,
            Scanner.dp2px(this, 14f)
        )
        scanner_view.setDrawTextColor(ContextCompat.getColor(this, R.color.white))
        scanner_view.setDrawTextSize(14)
    }
 
    override fun onResume() {
        scanner_view.onResume()
        super.onResume()
    }
 
    override fun onPause() {
        scanner_view.onPause()
        super.onPause()
    }
 
    override fun onScannerCompletion(rawResult: Result, barcode: Bitmap?) {
        Log.e(Const.Tag,"扫码结果:"+rawResult.text)
            val data = Intent()
            data.putExtra("result",rawResult.text)
            setResult(RESULT_OK,data)
            finish()
    }
}