我如何在一分钟后在后台截取屏幕截图并将其保存在不是我的而是我手机的图库中?

问题描述 投票:0回答:1

Stack Overflow 社区您好,

我正在开发一个 Android 应用程序,我需要定期捕获背景屏幕截图。我探索了两种方法:使用 MediaProjection 和使用 Canvas。但是,我在 MediaProjection 方法方面面临挑战,具体来说,mediaProjection 对象似乎为空,导致该方法无效。

以下是我尝试过的简要概述:

媒体投影方式:

我正在使用 MediaProjection API 在后台捕获屏幕截图。 从 mediaProjectionManager.getMediaProjection 获取的 mediaProjection 对象始终为 null。 测试的最低 Android 版本:API 22,最高:最新。 画布方法:

我还尝试使用画布捕获屏幕截图。 然而,我在实现过程中遇到了限制,并没有完全满足我的要求。 一般详情:

目标是在后台捕获屏幕截图,而不仅仅是在应用程序内。 该应用程序应作为服务或工作人员运行,并按预定义的时间间隔截取屏幕截图。 我已经彻底检查了我的代码并尝试了各种解决方案,但问题仍然存在。考虑到我遇到的限制,我正在寻求有关如何成功实现背景屏幕截图的指导

kotlin background screenshot android-mediaprojection mediaprojectionmanager
1个回答
0
投票

您是否设置了前台服务来管理屏幕截图处理?每次应用程序运行时,您都需要征求用户许可,否则结果将为空,因为 mediaProjection 将为空。此外,一旦您拥有 mediaProjection 实例,而不是使用它来获取屏幕截图,您可能需要考虑克隆意图数据,并在设备运行 android 13> 时使用克隆来节省资源。这里有很多很好的答案和建议,对我帮助很大

© www.soinside.com 2019 - 2024. All rights reserved.