优化细节

This commit is contained in:
Jenly
2021-08-06 14:26:00 +08:00
parent 0fe3a2ef7e
commit b465c191b7
7 changed files with 95 additions and 10 deletions

View File

@@ -42,7 +42,7 @@ public class CaptureFragmentActivity extends AppCompatActivity {
public void onClick(View v){
switch (v.getId()){
case R.id.ivLeft:
onBackPressed();
finish();
break;
}
}

View File

@@ -89,7 +89,7 @@ public class CodeActivity extends AppCompatActivity {
public void onClick(View v){
switch (v.getId()){
case R.id.ivLeft:
onBackPressed();
finish();
break;
}
}

View File

@@ -101,7 +101,7 @@ public class CustomActivity extends AppCompatActivity implements CameraScan.OnSc
public void onClick(View v){
switch (v.getId()){
case R.id.ivLeft:
onBackPressed();
finish();
break;
}
}

View File

@@ -21,6 +21,7 @@ import android.widget.TextView;
import android.widget.Toast;
import com.google.zxing.Result;
import com.king.zxing.CameraScan;
import com.king.zxing.config.CameraConfig;
import com.king.zxing.CaptureActivity;
import com.king.zxing.DecodeConfig;
@@ -83,14 +84,18 @@ public class CustomCaptureActivity extends CaptureActivity {
.bindFlashlightView(ivFlashlight)//绑定手电筒,绑定后可根据光线传感器,动态显示或隐藏手电筒按钮
.setOnScanResultCallback(this)//设置扫码结果回调,需要自己处理或者需要连扫时,可设置回调,自己去处理相关逻辑
.setAnalyzer(new MultiFormatAnalyzer(decodeConfig))//设置分析器,DecodeConfig可以配置一些解码时的配置信息如果内置的不满足您的需求你也可以自定义实现
.setAnalyzeImage(true)//设置是否分析图片默认为true。如果设置为false相当于关闭了扫码识别功能
.startCamera();//启动预览
.setAnalyzeImage(true);//设置是否分析图片默认为true。如果设置为false相当于关闭了扫码识别功能
}
/**
* 扫码结果回调
* @param result 扫码结果
* @return
* @param result
* @return 返回false表示不拦截将关闭扫码界面并将结果返回给调用界面
* 返回true表示拦截需自己处理逻辑。当isAnalyze为true时默认会继续分析图像也就是连扫
* 如果只是想拦截扫码结果回调,并不想继续分析图像(不想连扫),请在拦截扫码逻辑处通过调
* 用{@link CameraScan#setAnalyzeImage(boolean)}
* 因为{@link CameraScan#setAnalyzeImage(boolean)}方法能动态控制是否继续分析图像。
*
*/
@Override
public boolean onScanResultCallback(Result result) {
@@ -123,7 +128,7 @@ public class CustomCaptureActivity extends CaptureActivity {
public void onClick(View v){
switch (v.getId()){
case R.id.ivLeft:
onBackPressed();
finish();
break;
}
}

View File

@@ -56,7 +56,7 @@ public class EasyCaptureActivity extends CaptureActivity {
public void onClick(View v){
switch (v.getId()){
case R.id.ivLeft:
onBackPressed();
finish();
break;
}
}

View File

@@ -4,6 +4,7 @@ import android.os.Bundle;
import android.widget.TextView;
import com.google.zxing.Result;
import com.king.zxing.CameraScan;
import com.king.zxing.CaptureActivity;
import com.king.zxing.DecodeConfig;
import com.king.zxing.DecodeFormatManager;
@@ -53,8 +54,29 @@ public class QRCodeActivity extends CaptureActivity {
.setAnalyzer(new MultiFormatAnalyzer(decodeConfig));//设置分析器,如果内置实现的一些分析器不满足您的需求,你也可以自定义去实现
}
/**
* 扫码结果回调
* @param result
* @return 返回false表示不拦截将关闭扫码界面并将结果返回给调用界面
* 返回true表示拦截需自己处理逻辑。当isAnalyze为true时默认会继续分析图像也就是连扫
* 如果只是想拦截扫码结果回调,并不想继续分析图像(不想连扫),请在拦截扫码逻辑处通过调
* 用{@link CameraScan#setAnalyzeImage(boolean)}
* 因为{@link CameraScan#setAnalyzeImage(boolean)}方法能动态控制是否继续分析图像。
*
*/
@Override
public boolean onScanResultCallback(Result result) {
/*
* 因为setAnalyzeImage方法能动态控制是否继续分析图像。
*
* 1. 因为分析图像默认为true如果想支持连扫返回true即可。
* 当连扫的处理逻辑比较复杂时请在处理逻辑前调用getCameraScan().setAnalyzeImage(false)
* 来停止分析图像等逻辑处理完后再调用getCameraScan().setAnalyzeImage(true)来继续分析图像。
*
* 2. 如果只是想拦截扫码结果回调自己处理逻辑,但并不想继续分析图像(即不想连扫),可通过
* 调用getCameraScan().setAnalyzeImage(false)来停止分析图像。
*/
return super.onScanResultCallback(result);
}
}