Android记录屏幕,但仅特定的“图层” /视图

Use*_*101 3 android android-mediaprojection

我使用MediaProjection API在Android中录制屏幕。现在,我想知道是否可以创建一个您实际上可以看到但在视频中看不到的“隐藏”视图,因此不应记录该视图。此外,是否可以禁用通知甚至通知中心的记录?

那么是否可以像“表面层系统”那样进行配置,从而可以决定要记录的层?

fad*_*den 5

可以通过设置“安全”标志来防止记录中出现图层。参见例如“多表面测试” Grafika中,它在其SurfaceViews之一上设置了标志。

您将配置虚拟显示,使其仅在createVirtualDisplay()直接使用时才显示应用程序自己的窗口,而不是通过MediaProjectionManager。由于您正在为自己的内容创建显示,因此不会显示用户权限对话框。例如见测试DISPLAYMANAGER#createVirtualDisplay()

  • 我明白了......所以你想要完整的设备记录,但安全层被视为不可见而不是黑色。我不知道有什么方法可以做到这一点。您可能需要在 SurfaceFlinger 中定义一个“层堆栈”而不是省略不需要的层......我认为它总是在不安全的显示器上涂黑安全层(https://android.googlesource.com/platform/frameworks/native/ +/marshmallow-mr1-release/services/surfaceflinger/Layer.cpp#663)。 (2认同)
  • 您是否曾经能够找到针对该Azrael的解决方案? (2认同)