39bc5b47a072d32fda745018f2047b0efa961773
- 根因:多处代码重复调用getMediaProjection()创建新实例,系统自动stop旧实例触发onStop回调,形成权限丢失恢复再丢失的死循环 - ScreenCaptureManager.ensureMediaProjection():禁止重复创建,只从Holder获取已有对象 - ScreenCaptureManager.captureWithMediaProjection():移除重复创建逻辑 - ScreenCaptureManager.triggerPermissionRecovery():优先从Holder和SmartManager获取已有对象 - ScreenCaptureManager.regenerateMediaProjectionForAndroid15():优先复用Holder中已有对象 - SmartMediaProjectionManager.attemptSilentRecovery():先检查Holder是否已有有效对象 - Android15MediaProjectionManager.attemptSilentRecovery():先检查Holder复用已有对象 - Android15MediaProjectionManager.determineStopReason():修复误判逻辑,Holder中仍有有效对象时识别为旧实例被替换而非用户主动停止 - AccessibilityRemoteService.attemptAndroid15SilentRecovery():优先复用Holder中已有对象 - AccessibilityRemoteService.handleMediaProjectionGranted():Android 11+优先从Holder获取 - RemoteControlForegroundService.handleStartMediaProjection():优先检查Holder避免重复创建
Description
No description provided
Languages
Kotlin
97.4%
HTML
2.5%