提问人:Meharunnisa Zahid 提问时间:11/13/2023 更新时间:11/13/2023 访问量:10
一分钟后如何在后台截取屏幕截图并将其保存在图库中,而不是我的手机?
How can i take screenshot in background after a min and save it in gallery not of my but my phone?
问:
Hello Stack Overflow 社区,
我正在开发一个 Android 应用程序,我需要定期捕获背景屏幕截图。我探索了两种方法:使用 MediaProjection 和使用 Canvas。但是,我面临着 MediaProjection 方法的挑战,特别是 mediaProjection 对象似乎为 null,使该方法无效。
以下是我尝试过的简要概述:
MediaProjection 方法:
我正在使用 MediaProjection API 在后台捕获屏幕截图。 从 mediaProjectionManager.getMediaProjection 获取的 mediaProjection 对象始终为 null。 测试的最低 Android 版本: API 22, 最高: 最新. Canvas 方法:
我还尝试使用 Canvas 捕获屏幕截图。 但是,我在实现过程中遇到了限制,并且不能完全满足我的要求。 一般细节:
目标是在后台捕获屏幕截图,而不仅仅是在应用程序中。 应用应作为服务或辅助角色运行,并按预定义的时间间隔截取屏幕截图。 我已经彻底审查了我的代码并尝试了各种解决方案,但问题仍然存在。考虑到我遇到的限制,我正在寻求有关如何成功实现背景屏幕截图的指导
答:
您是否设置了前台服务来管理屏幕截图处理?每次运行应用时,您都需要请求用户权限,否则结果将为 ull from mediaProjection 将为 null。此外,一旦您拥有 mediaProjection 实例,并打算使用它来获取屏幕截图,您可能需要考虑克隆意图数据,如果设备运行的是 android 13,则使用克隆>以节省资源。这里有很多好的答案和建议,对我有很大帮助 使用 mediaprojectionmanager 获取屏幕截图,而另一个应用程序在前台
评论