diff --git a/app/src/main/java/com/libremobileos/facedetect/FaceDetectService.java b/app/src/main/java/com/libremobileos/facedetect/FaceDetectService.java
index d84c6b9..2763065 100644
--- a/app/src/main/java/com/libremobileos/facedetect/FaceDetectService.java
+++ b/app/src/main/java/com/libremobileos/facedetect/FaceDetectService.java
@@ -6,6 +6,7 @@
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
 import android.app.Service;
+import android.content.om.IOverlayManager;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Bitmap;
@@ -21,6 +22,7 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.RemoteException;
+import android.os.ServiceManager;
 import android.util.Base64;
 import android.util.Log;
 import android.util.Size;
@@ -48,6 +50,7 @@
 	private final long kDeviceId = 123; // Arbitrary value.
 	private final int kFaceId = 100; // Arbitrary value.
 	private final boolean DEBUG = false;
+	private final String SETTINGS_OVERLAY_PACKAGE = "com.libremobileos.facedetect.settings.overlay";
 
 	private static final int MSG_CHALLENGE_TIMEOUT = 100;
 
@@ -69,6 +72,17 @@
 				Log.d(TAG, "setCallback");
 
 			mCallback = clientCallback;
+
+			mWorkHandler.post(() -> {
+				IOverlayManager overlayManager = IOverlayManager.Stub.asInterface(
+						ServiceManager.getService("overlay" /* Context.OVERLAY_SERVICE */));
+				try {
+					overlayManager.setEnabledExclusiveInCategory(SETTINGS_OVERLAY_PACKAGE, -2 /* USER_CURRENT */);
+				} catch (Exception e) {
+					Log.e(TAG, "Failed to enable settings overlay", e);
+				}
+			});
+
 			OptionalUint64 ret = new OptionalUint64();
 			ret.value = kDeviceId;
 			ret.status = Status.OK;
