diff --git a/app/src/main/cpp/MicroPhoto.cpp b/app/src/main/cpp/MicroPhoto.cpp index 1aa058b2..7d6e36a9 100644 --- a/app/src/main/cpp/MicroPhoto.cpp +++ b/app/src/main/cpp/MicroPhoto.cpp @@ -239,6 +239,11 @@ Java_com_xypower_mpapp_MicroPhotoService_uninit( return JNI_FALSE; } + IDevice* dev = pTerminal->GetDevice(); + if (dev != NULL) + { + ((CPhoneDevice *)dev)->CloseCamera(); + } pTerminal->SignalExit(); pTerminal->Shutdown(); diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 2273b263..fbb06a05 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -582,11 +582,13 @@ bool CPhoneDevice::TakePhoto(const IDevice::PHOTO_INFO& photoInfo, const vector< bool CPhoneDevice::CloseCamera() { - // if (mCamera != NULL) + if (mCamera != NULL) { - // mCamera->close(); - // delete mCamera; - // mCamera = NULL; + auto camera = mCamera; + mCamera = NULL; + + camera->close(); + delete camera; } return true; }