我在 Media Projection API 上使用谷歌的示例项目。我观察到的是,每次屏幕方向更改时,VirtualDisplay
返回的对象为
mVirtualDisplay = mMediaProjection.createVirtualDisplay("ScreenCapture",
mSurfaceView.getWidth(), mSurfaceView.getHeight(), mScreenDensity,
DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
mSurface, null, null);
被破坏(设置为null
),我必须重新启动屏幕捕获。我知道这可能是由于屏幕尺寸的变化而需要的,但我希望有一个方法可以避免破坏这个对象并仅仅更新它,这样屏幕捕获只会在按下停止按钮时停止。显然,可以在方向更改后以编程方式重新启动屏幕捕获,但我宁愿不这样做。我在这里是不是太乐观了?