使用后台服务的屏幕截图

Posted

技术标签:

【中文标题】使用后台服务的屏幕截图【英文标题】:Screen capture with background service 【发布时间】:2015-07-29 16:58:34 【问题描述】:

我开始使用 Lollipop 和 Media.Projection 类来实现屏幕共享应用程序。 Google 的演示项目足以让我了解 Lollipop 的这个新功能。但是后来我发现很难让屏幕捕获进入后台,因为一直按下 Home 或 Back 按钮时,表面活动被破坏,因此捕获线程将不再工作。这种情况有什么提示吗?

【问题讨论】:

【参考方案1】:

此问题可能是由于您的应用程序被 LMK(低内存杀手)完成。

您可以通过在自定义服务上使用“startForeground”来固定固定通知以避免 LMK。

【讨论】:

这会在屏幕顶部放置一个新的活动,实际上并不会让您屏幕记录其他应用程序。 @CarCar 对不起,最后一个答案是错误的,所以我更正了。但是Media.Projection拥有完整的能力,可以记录手机的所有屏幕,包括图形锁定。 没关系..我希望你能回来告诉我我错了:(我和原始用户有同样的问题并尝试了你的解决方案但没有用 您可以尝试运行不间断的服务。这对我有用。 你们可以分享服务的代码吗?特别是关于如何在服务中获取 Mediaprojection API?

以上是关于使用后台服务的屏幕截图的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MediaProjection API 从后台服务类中截取屏幕截图?

IOSurface - IOS 私有 API - 在后台捕获屏幕截图

如果 App 在后台,iOS 会检测屏幕截图

如何在后台线程上截取 UIView 的屏幕截图?

防止 iOS 在进入后台之前对应用进行屏幕截图

Android 从代码中截取屏幕截图,具有 root 访问权限