diff --git a/app/src/main/java/com/example/cameraxtestappjava/segpass/SegpassCamera.java b/app/src/main/java/com/example/cameraxtestappjava/segpass/SegpassCamera.java index 49bd276..e3c1be4 100644 --- a/app/src/main/java/com/example/cameraxtestappjava/segpass/SegpassCamera.java +++ b/app/src/main/java/com/example/cameraxtestappjava/segpass/SegpassCamera.java @@ -275,7 +275,8 @@ public class SegpassCamera { mBackgroundThread.join(); mBackgroundThread = null; mBackgroundHandler = null; - } catch (Exception e) { + } catch (InterruptedException e) { + mBackgroundThread.interrupt(); Log.d(TAG, "InterruptedException@stopBackgroundThread(): " + e.getMessage()); } } @@ -515,7 +516,8 @@ public class SegpassCamera { } catch (CameraAccessException e) { Log.e(TAG, "CameraAccessException@openCamera(): " + e.getMessage()); mCameraCallback.onCameraInitError(e.getMessage()); - } catch (Exception e) { + } catch (InterruptedException e) { + mBackgroundThread.interrupt(); Log.e(TAG, "InterruptedException@openCamera(): " + e.getMessage()); } } @@ -538,7 +540,8 @@ public class SegpassCamera { mImageReader.close(); mImageReader = null; } - } catch (Exception e) { + } catch (InterruptedException e) { + mBackgroundThread.interrupt(); Log.e(TAG, "InterruptedException@closeCamera(): " + e.getMessage()); } finally { mCameraOpenCloseLock.release();