7

我一直想知道 android API(或任何其他 lib/框架)中是否有任何方法可以帮助我检测我的设备屏幕是否使用 WiDi、Miracast 或 MHL 或基本上任何其他镜像屏幕的技术进行镜像。

溴,英克斯

4

4 回答 4

0

自 API 级别 16(Android 4.1,于 2012 年发布,在提出问题时相当新)以来,Android 已经有了MediaRouterAPI。ROUTE_TYPE_LIVE_VIDEO为订阅添加回调以MediaRouter.Callback.onRoutePresentationDisplayChanged在外部显示器连接或断开连接时调用。如果应用程序有声音,其他选项是跟踪路由输出。输出类型TYPE_HDMITYPE_REMOTE_SUBMIX用于外部显示。

于 2021-10-27T17:07:11.413 回答
0

您可以浏览所有设备显示的列表,并在每个设备上获取标志,以便找到可能带有 VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR 的标志?不确定,但几次尝试应该可以让你弄清楚哪些可以做到。

cf: DisplayManagerVirtualDisplay文档

于 2016-12-26T11:46:27.940 回答
-1

您无法检测到,但可以删除镜像的功能。如果禁用了开发者选项,则
没有软件可以镜像。 这段代码将告诉android是否可以镜像。

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

于 2020-11-17T13:52:05.817 回答
-2

我不确定你想要实现什么,但如果你只是想禁用屏幕截图等,你可以使用FLAG_SECURE.

于 2013-09-19T08:31:04.450 回答