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()
|
}
|
}
|