Closed moselon closed 5 years ago
package com.codecfmoto;
import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Toast;
import cn.bertsir.zbar.Qr.ScanResult; import cn.bertsir.zbar.utils.QRUtils; import cn.bertsir.zbar.QrConfig; import cn.bertsir.zbar.QrManager;
public class ScanActivity extends Activity {
private boolean isInFromScan = false;//是否进入扫一扫
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initApi();
}
// @Override // public void onResume() { // super.onResume(); // // if (isInFromScan == false){ // finish(); // } // }
private void initApi(){
QrConfig qrConfig = new QrConfig.Builder()
.setDesText("(识别二维码)")//扫描框下文字
.setShowDes(false)//是否显示扫描框下面文字
.setShowLight(true)//显示手电筒按钮
.setShowTitle(true)//显示Title
.setShowAlbum(true)//显示从相册选择按钮
.setCornerColor(Color.WHITE)//设置扫描框颜色
.setLineColor(Color.WHITE)//设置扫描线颜色
.setLineSpeed(QrConfig.LINE_FAST)//设置扫描线速度
.setScanType(QrConfig.TYPE_ALL)//设置扫码类型(二维码,条形码,全部,自定义,默认为二维码)
.setScanViewType(QrConfig.SCANVIEW_TYPE_QRCODE)//设置扫描框类型(二维码还是条形码,默认为二维码)
.setCustombarcodeformat(QrConfig.BARCODE_I25)//此项只有在扫码类型为TYPE_CUSTOM时才有效
.setPlaySound(true)//是否扫描成功后bi~的声音
.setNeedCrop(true)//从相册选择二维码之后再次截取二维码
.setDingPath(R.raw.test)//设置提示音(不设置为默认的Ding~)
.setIsOnlyCenter(true)//是否只识别框中内容(默认为全屏识别)
.setTitleText("扫描二维码")//设置Tilte文字
.setTitleBackgroudColor(Color.BLACK)//设置状态栏颜色
.setTitleTextColor(Color.WHITE)//设置Title文字颜色
.setShowZoom(false)//是否手动调整焦距
.setAutoZoom(true)//是否自动调整焦距
.setFingerZoom(false)//是否开始双指缩放
.setScreenOrientation(QrConfig.SCREEN_PORTRAIT)//设置屏幕方向
.setDoubleEngine(false)//是否开启双引擎识别(仅对识别二维码有效,并且开启后只识别框内功能将失效)
.setOpenAlbumText("选择要识别的图片")//打开相册的文字
.setLooperScan(false)//是否连续扫描二维码
.setLooperWaitTime(5*1000)//连续扫描间隔时间
.create();
QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() {
@Override
public void onScanSuccess(ScanResult result) {
Log.e("扫一扫", "code"+result.getContent());
Intent intent = new Intent();
intent.putExtra("code", result.getContent());
setResult(RESULT_OK, intent);
isInFromScan = true;
finish();
}
});
}
@Override
public void finish() {
super.finish();
}
}
扫描成功是可以返回到我进来的界面,就点击返回按钮,没有去调用我桥接类,你那边再能把返回按钮写到出来吗
返回按钮方法写出来,我这边就可以这样写就可以返回到我进来界面 @Override public void onCancel(){ setResult(RESULT_CANCELED); finish(); }
@moselon 感谢给出的解决方案
不用改了 ,我这边弄好了
@moselon 好的 期待分享经验
我同步更新,点击扫一扫就出现这个布局问题了
@moselon 布局文件的问题还存在么,你是哪种方式引入的呢
implementation 'cn.bertsir.zbarLibary:zbarlibary:latest.release'
存在的,我改成了1.3.5就不会有问题,只用最新就布局的问题
我也是,今天点击更新,才发现这个问题的
@moselon /.gradle/caches/modules-2/files-2.1 删除一下缓存 然后试试1.3.6
好的,我试试一下
还是不可以的
@moselon 应该还是你本地的缓存问题,尝试清除一下AS的缓存和gradle的缓存
灯光设置成默认打开的,使用app的人是在工厂里面,光线比较暗
大神全村希望就靠你了
@moselon 明天更新
灰常感谢大神
@moselon 加了类似摩拜的自动感光,明天更新
太棒了,你好厉害呀,比心比心
@moselon 那个返回只是单纯的finish