【发布时间】:2015-05-07 16:06:20
【问题描述】:
Media Projection 包是新的 Lollipop,它允许应用程序实时捕获设备的屏幕以流式传输到视频。我希望这也可以用来捕获单个静止屏幕截图,但到目前为止我还没有成功。当然,捕获的视频的第一帧可以工作,但我的目标是获得与设备像素分辨率相匹配的完美、无损截图。捕获的视频中的静止图像无法提供这一点。
我尝试了很多方法,但最接近解决方案的是首先启动invisible activity。然后此活动遵循API example 开始屏幕捕获,其中可能包括询问用户的许可。启用屏幕捕获后,屏幕图像将实时显示在 SurfaceView 中。但是,我找不到从 SurfaceView 捕获位图的方法。关于这个有很多questions 和discussions,但似乎没有解决方案有效,并且有一些证据表明它是impossible。
有什么想法吗?
【问题讨论】:
-
应用截图-减去状态栏就够了吗?
-
@BojanKseneman 是的,但请记住,这应该能够截取设备上的任何内容(安全表面除外)——不仅仅是我的应用程序。
-
哦,我不确定你是否可以在没有 root 的情况下捕获其他应用程序。那将是一个安全问题。你可以用反射做一些技巧来调用隐藏的android代码,它有截图功能
-
@BojanKseneman 你绝对可以在 Lollipop 中,它只是先询问用户权限。请参阅上面链接的 API 演示。
标签: android android-mediaprojection