如何检测屏幕镜像

8

我一直在想,Android API(或其他库/框架)是否有助于检测使用WiDi、Miracast、MHL或基本上任何其他镜像屏幕技术的设备屏幕是否被镜像。

敬礼, Inx


你有任何解决方案吗? - Harco
你找到实现它的方法了吗?如果你能分享一下就太好了。谢谢。 - Chandrasekar Kesavan
@Harco解决方案 https://dev59.com/LXfZa4cB1Zd3GeqPMQTL#64876594 - Sorry IwontTell
4个回答

0

您可以浏览所有设备显示列表,并获取每个标志,以查找具有VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR的标志?不确定,但尝试几次应该可以让您找出哪些标志可以实现此功能。

请参阅 DisplayManagerVirtualDisplay 文档。


0

自API级别16(Android 4.1,在问题提出时发布于2012年,因此相对较新)以来,Android就拥有了MediaRouter API。添加ROUTE_TYPE_LIVE_VIDEO的回调会订阅MediaRouter.Callback.onRoutePresentationDisplayChanged,以在连接或断开外部显示器时调用。如果应用程序具有声音,则另一种选择是跟踪路由输出。输出类型TYPE_HDMITYPE_REMOTE_SUBMIX用于外部显示。


-1

你无法检测,但可以删除镜像功能。
如果开发者选项被禁用,任何软件都无法进行镜像。
这段代码将告诉你安卓是否可以进行镜像。

int CanMirror = Settings.Secure.getInt(this.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED , 0);
//returns 1 if can mirror
//returns 0 if can't mirror

参考:https://stackoverflow.com/a/63971764/11390822


-2

3
嗯,我想要实现的是检测当前设备是否也在将其屏幕镜像到电视、投影仪或任何其他显示器/屏幕上。 - Inx
这不会防止镜像。 - Sorry IwontTell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接