@@ -10,14 +10,18 @@ import android.graphics.PixelFormat
1010import android.hardware.display.DisplayManager
1111import android.media.Image
1212import android.media.ImageReader
13+ import android.media.projection.MediaProjection
1314import android.media.projection.MediaProjectionManager
1415import android.os.Build
1516import android.os.Bundle
17+ import android.os.Handler
18+ import android.os.Looper
1619import android.view.accessibility.AccessibilityNodeInfo
1720import androidx.activity.ComponentActivity
1821import androidx.activity.result.ActivityResult
1922import androidx.activity.result.ActivityResultLauncher
2023import androidx.activity.result.contract.ActivityResultContracts
24+ import androidx.annotation.RequiresApi
2125import com.blankj.utilcode.util.ActivityUtils
2226import com.blankj.utilcode.util.ImageUtils
2327import com.blankj.utilcode.util.LogUtils
@@ -57,6 +61,8 @@ object MPManager {
5761 /* * 图像读取器实例 */
5862 private var imageReader: ImageReader ? = null
5963
64+ var mediaProjectionCallback: MediaProjection .Callback ? = null
65+
6066 /* * 屏幕录制是否已启用 */
6167 var isEnable = false
6268 private set
@@ -145,6 +151,21 @@ object MPManager {
145151 intent.getParcelableExtra<Intent >(REQUEST_DATA )
146152 }
147153 val mediaProjection = mediaProjectionManager.getMediaProjection(requestCode, requestData!! )
154+ mediaProjection.registerCallback(object : MediaProjection .Callback () {
155+ override fun onStop () {
156+ mediaProjectionCallback?.onStop()
157+ }
158+
159+ @RequiresApi(Build .VERSION_CODES .UPSIDE_DOWN_CAKE )
160+ override fun onCapturedContentResize (width : Int , height : Int ) {
161+ mediaProjectionCallback?.onCapturedContentResize(width, height)
162+ }
163+
164+ @RequiresApi(Build .VERSION_CODES .UPSIDE_DOWN_CAKE )
165+ override fun onCapturedContentVisibilityChanged (isVisible : Boolean ) {
166+ mediaProjectionCallback?.onCapturedContentVisibilityChanged(isVisible)
167+ }
168+ }, Handler (Looper .getMainLooper()))
148169 mediaProjection.createVirtualDisplay(
149170 " assists_mp" ,
150171 screenWidth,
0 commit comments