diff --git a/src/plugins/android/src/wrappers/jcamera.cpp b/src/plugins/android/src/wrappers/jcamera.cpp
index 23f3e14b47e8d447e571d8d9c289c95e204501a2..50a65a779d3ebc6780afc1e989f61a3c28730442 100644
--- a/src/plugins/android/src/wrappers/jcamera.cpp
+++ b/src/plugins/android/src/wrappers/jcamera.cpp
@@ -306,12 +306,16 @@ int JCamera::cameraId() const
 
 void JCamera::lock()
 {
-    QMetaObject::invokeMethod(d, "callVoidMethod", Q_ARG(QByteArray, "lock"));
+    QMetaObject::invokeMethod(d, "callVoidMethod",
+                              Qt::BlockingQueuedConnection,
+                              Q_ARG(QByteArray, "lock"));
 }
 
 void JCamera::unlock()
 {
-    QMetaObject::invokeMethod(d, "callVoidMethod", Q_ARG(QByteArray, "unlock"));
+    QMetaObject::invokeMethod(d, "callVoidMethod",
+                              Qt::BlockingQueuedConnection,
+                              Q_ARG(QByteArray, "unlock"));
 }
 
 void JCamera::reconnect()