diff --git a/package/android/src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp b/package/android/src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp index bafc534..77a28a6 100644 --- a/package/android/src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp +++ b/package/android/src/main/cpp/frameprocessor/java-bindings/JVisionCameraScheduler.cpp @@ -22,10 +22,11 @@ void JVisionCameraScheduler::dispatchAsync(const std::function& job) { void JVisionCameraScheduler::scheduleTrigger() { // 2.1 Open a JNI Thread scope because this might be called from a C++ background Thread - jni::ThreadScope scope; - // 2.2 schedule `triggerUI` to be called on the java thread - static auto method = _javaPart->getClass()->getMethod("scheduleTrigger"); - method(_javaPart.get()); + jni::ThreadScope::WithClassLoader([&]() { + // 2.2 schedule `triggerUI` to be called on the java thread + static auto method = _javaPart->getClass()->getMethod("scheduleTrigger"); + method(_javaPart.get()); + }); } void JVisionCameraScheduler::trigger() {