diff --git a/lib/src/main/java/com/king/zxing/CaptureActivity.java b/lib/src/main/java/com/king/zxing/CaptureActivity.java index e0edb86..feec155 100644 --- a/lib/src/main/java/com/king/zxing/CaptureActivity.java +++ b/lib/src/main/java/com/king/zxing/CaptureActivity.java @@ -52,7 +52,10 @@ public class CaptureActivity extends AppCompatActivity implements OnCaptureCallb */ public void initUI(){ surfaceView = findViewById(getSurfaceViewId()); - viewfinderView = findViewById(getViewfinderViewId()); + int viewfinderViewId = getViewfinderViewId(); + if(viewfinderViewId != 0){ + viewfinderView = findViewById(viewfinderViewId); + } int ivTorchId = getIvTorchId(); if(ivTorchId != 0){ ivTorch = findViewById(ivTorchId); @@ -85,7 +88,7 @@ public class CaptureActivity extends AppCompatActivity implements OnCaptureCallb /** * {@link #viewfinderView} 的 ID - * @return + * @return 默认返回{@code R.id.viewfinderView}, 如果不需要扫码框可以返回0 */ public int getViewfinderViewId(){ return R.id.viewfinderView; diff --git a/lib/src/main/java/com/king/zxing/CaptureFragment.java b/lib/src/main/java/com/king/zxing/CaptureFragment.java index 8120a77..e5bdc8a 100644 --- a/lib/src/main/java/com/king/zxing/CaptureFragment.java +++ b/lib/src/main/java/com/king/zxing/CaptureFragment.java @@ -66,7 +66,10 @@ public class CaptureFragment extends Fragment implements OnCaptureCallback { */ public void initUI(){ surfaceView = mRootView.findViewById(getSurfaceViewId()); - viewfinderView = mRootView.findViewById(getViewfinderViewId()); + int viewfinderViewId = getViewfinderViewId(); + if(viewfinderViewId != 0){ + viewfinderView = mRootView.findViewById(viewfinderViewId); + } int ivTorchId = getIvTorchId(); if(ivTorchId != 0){ ivTorch = mRootView.findViewById(ivTorchId); @@ -99,7 +102,7 @@ public class CaptureFragment extends Fragment implements OnCaptureCallback { /** * {@link ViewfinderView} 的 id - * @return + * @return 默认返回{@code R.id.viewfinderView}, 如果不需要扫码框可以返回0 */ public int getViewfinderViewId(){ return R.id.viewfinderView; diff --git a/lib/src/main/java/com/king/zxing/CaptureHandler.java b/lib/src/main/java/com/king/zxing/CaptureHandler.java index da7818c..e42fd8a 100644 --- a/lib/src/main/java/com/king/zxing/CaptureHandler.java +++ b/lib/src/main/java/com/king/zxing/CaptureHandler.java @@ -32,7 +32,6 @@ public class CaptureHandler extends Handler implements ResultPointCallback { private final DecodeThread decodeThread; private State state; private final CameraManager cameraManager; - private final Activity activity; private final ViewfinderView viewfinderView; /** * 是否支持垂直的条形码 @@ -66,7 +65,6 @@ public class CaptureHandler extends Handler implements ResultPointCallback { Map baseHints, String characterSet, CameraManager cameraManager) { - this.activity = activity; this.viewfinderView = viewfinderView; this.onCaptureListener = onCaptureListener; decodeThread = new DecodeThread(activity,cameraManager,this, decodeFormats, baseHints, characterSet, this); @@ -129,7 +127,9 @@ public class CaptureHandler extends Handler implements ResultPointCallback { if (state == State.SUCCESS) { state = State.PREVIEW; cameraManager.requestPreviewFrame(decodeThread.getHandler(), R.id.decode); - viewfinderView.drawViewfinder(); + if(viewfinderView!= null){ + viewfinderView.drawViewfinder(); + } } } diff --git a/lib/src/main/java/com/king/zxing/InactivityTimer.java b/lib/src/main/java/com/king/zxing/InactivityTimer.java index 66a9d5c..a73f3fc 100644 --- a/lib/src/main/java/com/king/zxing/InactivityTimer.java +++ b/lib/src/main/java/com/king/zxing/InactivityTimer.java @@ -129,7 +129,7 @@ final class InactivityTimer { protected Object doInBackground(Object... objects) { try { Thread.sleep(INACTIVITY_DELAY_MS); - LogUtils.i( "Finishing activity due to inactivity"); + LogUtils.i( "Finishing activity due to inactivity"); Activity activity = weakReference.get(); if(activity!=null){ activity.finish();