From 8154c026a4ce1ce1df63f3e4b835d3791be3b4e7 Mon Sep 17 00:00:00 2001 From: vipe3 <96345828+vipe3@users.noreply.github.com> Date: Wed, 16 Sep 2026 12:01:26 +0800 Subject: [PATCH] fix(android): default to entire screen for capture (#16163) Use MediaProjectionConfig on Android 14+ to remove the app-versus-screen choice while retaining the legacy fallback. --- .../flutter_hbb/PermissionRequestTransparentActivity.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/flutter/android/app/src/main/kotlin/com/carriez/flutter_hbb/PermissionRequestTransparentActivity.kt b/flutter/android/app/src/main/kotlin/com/carriez/flutter_hbb/PermissionRequestTransparentActivity.kt index 9034d2096..0464962ca 100644 --- a/flutter/android/app/src/main/kotlin/com/carriez/flutter_hbb/PermissionRequestTransparentActivity.kt +++ b/flutter/android/app/src/main/kotlin/com/carriez/flutter_hbb/PermissionRequestTransparentActivity.kt @@ -2,6 +2,7 @@ package com.carriez.flutter_hbb import android.app.Activity import android.content.Intent +import android.media.projection.MediaProjectionConfig import android.media.projection.MediaProjectionManager import android.os.Build import android.os.Bundle @@ -19,7 +20,13 @@ class PermissionRequestTransparentActivity: Activity() { ACT_REQUEST_MEDIA_PROJECTION -> { val mediaProjectionManager = getSystemService(MEDIA_PROJECTION_SERVICE) as MediaProjectionManager - val intent = mediaProjectionManager.createScreenCaptureIntent() + val intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + mediaProjectionManager.createScreenCaptureIntent( + MediaProjectionConfig.createConfigForDefaultDisplay() + ) + } else { + mediaProjectionManager.createScreenCaptureIntent() + } startActivityForResult(intent, REQ_REQUEST_MEDIA_PROJECTION) } else -> finish()