最近在做一个Android双屏异显的项目,要实现一台Android设备通过HDMI连接两个显示器,然后在一个App中同时显示两个不同的画面。

标题实际上Android并不存在真正的像Windows一样的双屏异显,Android的双屏异显实际上是将一个View覆盖在了主显(或副显)上,从而实现两个显示器显示不同画面的效果。

在网上查找相关资料,发现基本都是使用 Android 的 Presentation 这个类来实现双屏异显的效果。但是在我的实际使用中效果并不理想。通过查看Prentation类的源码,得知其实际上是一个封装好的Dialog。在使用Presentation过程中,有时会出现无法产生第二画面的问题,各种查找资料无果,无奈智能另寻方法。

所以,我来介绍一个全新,简单,稳定的双屏异显解决方法。该方法只有几行核心代码。很简单,话不多说,我们直接放码过来。( Talk is cheap, show me the code. — Linus )

MediaRouter mediaRouter = (MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE);MediaRouter.RouteInfo routeInfo = mediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);Display secondDisplay = routeInfo.getPresentationDisplay();WindowManager windowManager = (WindowManager)this.createDisplayContext(secondDisplay).getSystemService(WINDOW_SERVICE);Context secondDisplayContext = this.createDisplayContext(secondDisplay);View view = View.inflate(secondDisplayContext, R.layout.viewLayout, null);windowManager.addView(view, new WindowManager.LayoutParams(2003,3,3));

【Android双屏异显】如何真正的实现Android双屏异显相关推荐

  1. Android 4.4 双显示屏支持实现思路(双屏异显)

          本文是多年前在Intel Baytrail 平台上所做过的一个项目的思路总结.当时设备上有同时支持VGA/HDMI显示设备(很Intel吧,跟PC的接口很像吧),需求是在Android 上 ...

  2. Android WebView 视频播放,全屏按钮不显示或灰显解决方案

    Android WebView 视频播放,全屏按钮不显示或灰显解决方案 背景 问题定位 背景 在Android开发中,遇到了如下问题:Activity内嵌WebView,加载有视频的页面时,视频无法全 ...

  3. 【Android从零单排系列一】《Android系统发展史》

    目录 前言 一.Android 创始人 二.Android 发展历程 三.Android各版本发布时间及特性 1.AndroidBeta:阿童木 2.Android 1.0:发条机器人 3.Andro ...

  4. 适用于Android的OpenSL ES指南-OpenSL ES的Android扩展

    翻译自Android Extensions 针对Android的OpenSL ES扩展了参考OpenSL ES规范,使其与Android兼容,并利用Android平台的强大功能和灵活性. Androi ...

  5. android 设备名称_如何更改您的Android TV的设备名称

    android 设备名称 Android TV is Google's attempt at taking over the living room, and with some units bein ...

  6. android应用开发---(第1章)android基础学习之六大Layout布局

    Android中任何可视化的控件都是从android.veiw.View继承而来的,系统提供了两种方法来设置视图:第一种也是我们最常用的的使用XML文件来配置View的相关属性,然后在程序启动时系统根 ...

  7. Android基础 《密西西比河谷州立大学:Android应用程序开发》(一)

    第一层:Linux操作系统和驱动(Linux kernel):由C语言实现. Android核心系统服务依赖于Linux2.6内核,包括:安全性.内存管理.进程管理.网络协议.驱动模型.Linux内核 ...

  8. 重学Android基础系列篇(五):Android虚拟机指令

    前言 本系列文章主要是汇总了一下大佬们的技术文章,属于Android基础部分,作为一名合格的安卓开发工程师,咱们肯定要熟练掌握java和android,本期就来说说这些~ [非商业用途,如有侵权,请告 ...

  9. 《深入理解Android 卷III》第八章深入理解Android壁纸(完整版)

    第8章 深入理解Android壁纸 本章主要内容: ·  讨论动态壁纸的实现. ·  在动态壁纸的基础上讨论静态壁纸的实现. ·  讨论WMS对壁纸窗口所做的特殊处理. 本章涉及的源代码文件名及位置: ...

  10. android 13:You uploaded an APK or Android App Bundle which has an activity Google后台上传新APP传不上去

    android 13:You uploaded an APK or Android App Bundle which has an activity Google后台上传新APP传不上去 设备/引擎: ...

最新文章

  1. Windows Server 2012 HyperV之SMB共享实时迁移
  2. 【238】◀▶IEW-Unit03
  3. 你对一个程序员有多尊重
  4. 团队开发git使用各种问题
  5. SpringBoot 集成 阿里的 FastJson
  6. 关于C++ 中大小端和位域
  7. java自定义annotation_Java自定义annotation | 学步园
  8. C/C++ inline 函数
  9. c#值类型,引用练习,ref,out
  10. SpringBoot 核心源码解读
  11. 华为IE和思科IE哪个好?
  12. 计算机win7卡顿如何解决方法,win7电脑出现卡顿怎么办_win7电脑卡顿严重解决方法...
  13. DNS的作用和解析过程描述
  14. 计算机网络思科DNS配置,Cisco交换机 正确连接和初级配置
  15. 需求分析(团队作业3)
  16. 树莓派(4B)DHT11实现温湿度获取+mysql数据库存储
  17. MATLAB:ode45
  18. 二手苹果手机哪个性价比高?
  19. 用计算机用语说唯美的话,古风说说唯美句子
  20. 逍遥情缘服务器维护没通告,《逍遥情缘》铁匠惨遭失业 玩家居然打造合成修理样样精通...

热门文章

  1. 用Python给我写一个爬取网易云的音乐代码
  2. TCP(传输控制协议)
  3. OpenStack配置使用sriov
  4. 【飞行器】基于matlab四旋翼无人机控制仿真【含Matlab源码 2238期】
  5. scpi编程实例 c语言,SCPI_编程语句中文解释_scpi编程实例,scpi编程手册
  6. disruptor原理详解
  7. 万人直播架构与CDN网络
  8. 抖音店铺商品详情API,订单交易详情接口
  9. 招聘技术岗-北京、武汉
  10. 浅谈便携式显示屏的优劣以及是否适用于现在的你