Android现在可以让您的应用在辅助显示器上显示不同的内容程序,以有线或Wi-Fi将外接显示输出连接到用户设备上,显示独特的内容。要为辅助显示屏创建独特的内容,您需要扩展Presentation类,并实现onCreate()回调方法。在onCreate()中,调用setContentView()来指定您要在辅助显示屏上显示的UI。作为Dialog类的扩展,Presentation类提供了一个区域,在其中,您的应用可以在辅助显示屏上显示不同的UI。
为了获取显示Presentation的辅助显示屏,您可以使用DisplayManager或者MediaRouter的API。其中,使用DisplayManagerAPI可以使您获得当前连接的所有显示屏的枚举,而MediaRouter则可以使您直接访问系统为Presentation设置的默认显示输出。
您可以给MediaRouter.getSelectedRoute()传一个ROUTE_TYPE_LIVE_VIDEO来获得演示的默认显示器。它将返回一个MediaRouter.RouteInfo对象,描述了系统为视频演示所选择的当前路由。如果MediaRouter.RouteInfo不空,调用getPresentationDisplay()即可获取当前连接的显示屏对象:Display。
然后,您可以将这个Display对象传入Presentation的构造函数。演示就会出现在辅助显示屏上了。
为在运行时即时检测新接入的显示器,需要先创建一个MediaRouter.SimpleCallback的实例。在其中,您需要实现onRoutePresentationDisplayChanged()回调方法。当新的显示器连接时,系统会调用这个回调方法。然后将MediaRouter.SimpleCallback加上ROUTE_TYPE_LIVE_VIDEO路由类型传递给MediaRoute.addCallback()来进行注册。当收到onRoutePresentationDisplayChanged()回调时,只要如上所述的调用MediaRouter.getSelectedRoute()即可。
为针对辅助显示进一步优化Presentation的UI,您需要为您的应用或activity指定标签为android:presentationTheme主题。
请留意,连接到用户移动设备的屏幕往往有较大的屏幕尺寸和不同的屏幕密度。由于屏幕特征可能不同,您需要为大型显示设备提供特定优化的资源。如果您需要从Presentation中获取额外的资源,调用getContext().getResources()来获取针对这种显示的资源对象。这样,您的应用就可以根据辅助显示器的尺寸和密度提供最合适的资源了。
欲了解更多信息以及一些代码示例,请参阅Presentation类文档。
http://developer.android.com/about/versions/jelly-bean.html#42-external-display
相关推荐
9. **测试策略**:多屏显示的测试比单屏更复杂,需要涵盖各种组合,如独立显示、镜像模式和扩展模式等。 通过深入学习和实践`NativeSFDemo`,开发者不仅可以提升自己在Android多屏显示领域的专业技能,还可以为构建...
在Android平台上进行海康摄像头的二次开发,主要是为了满足用户对于监控画面的多样化需求,例如多屏显示。这种技术能够使用户在一个设备上同时查看多个摄像头的实时视频流,极大地提升了监控系统的实用性与效率。本...
- 灵活性:平板可以随身携带,无论在家还是办公室,都能快速建立扩展屏幕环境。 - 节省成本:相比于购买额外的物理显示器,利用闲置的Android平板作为扩展屏更为经济。 需要注意的是,为了保证流畅的显示效果,平板...
在Android平台上,开发者可以利用系统提供的API来实现对设备...以上就是关于"Android Studio 屏幕亮度调节"的知识点,这个Demo提供了一个基础的框架,你可以根据实际需求进行扩展和优化,以满足更复杂的亮度控制需求。
在Android开发中,多屏显示是一项重要的特性,它允许应用程序扩展到不同的输出设备,如电视、投影仪或者第二显示器。`Presentation`类是Android SDK提供的一种机制,专门用于在外部屏幕上展示内容,使得开发者可以...
通过深入理解上述技术点,开发者可以进一步优化这个屏幕分享助手,例如减少延迟、提高图像质量,或者扩展到更复杂的网络环境。此源码对于学习Android网络编程、多线程处理以及图像处理等方面的技术具有很高的参考...
这个"android双屏显示demo"示例项目,旨在帮助开发者了解如何利用HDMI(High-Definition Multimedia Interface)接口和LCD(Liquid Crystal Display)技术在Android设备上实现多屏输出。在本文中,我们将深入探讨...
在Android开发中,广播接收器(BroadcastReceiver)是一种重要的组件,它允许应用程序监听并...在实际开发中,可以根据需求扩展这个例子,例如记录屏幕开启和关闭的时间,或者在屏幕关闭时暂停某些后台服务以节省电量。
在Android系统中,"多屏异显"是一个高级特性,主要应用于车载系统、电视设备或者嵌入式系统等,这些设备通常拥有多个显示输出接口,比如HDMI、LVDS等,需要同时显示不同的内容或者扩展屏幕。理解并掌握Android多屏异...
【标题】:“一个Android桌面滑动切换屏幕的控件(二)” 在Android开发中,为用户提供流畅且直观的界面交互至关重要,而滑动切换屏幕是实现这一目标的关键技术之一。这个博客“一个Android桌面滑动切换屏幕的控件(二...
总的来说,"具有扩展屏幕的移动终端显示屏"这一主题涵盖了硬件创新、软件适配、用户体验等多个方面,体现了科技与设计在提升移动设备性能上的深度融合。随着技术的不断发展,我们可以期待未来更多的移动设备将采用...
### Android在多屏幕、多设备上的适配 #### 一、引言 随着移动设备市场的不断扩展,Android作为全球最受欢迎的移动操作系统之一,其设备种类繁多,包括不同尺寸、不同分辨率、不同输入方式的手机和平板电脑等。这种...
在Android开发中,自定义View是一项重要的技能,它允许开发者扩展Android系统提供的基本视图功能,以满足特定的用户界面需求。本示例中的“Android自定义View实现屏幕手写签名”是一个很好的实践,它涉及到了多个...
标题"viewpager 实现一屏幕多页循环滚动"涉及到的技术点是如何让ViewPager不仅展示多个页面,而且能够实现循环滚动,即当滑动到最后一页时,会无缝跳转到第一页,反之亦然。这种效果常见于轮播图或者推荐栏等场景。 ...
在Android开发中,屏幕取词是一项实用的功能,它允许用户在屏幕上选取并操作特定的文本,比如这里的英文单词。这个“Android屏幕获取英文单词”的示例项目,专注于从屏幕上抓取用户点击的英文单词,并在控制台上显示...
《屏幕魅影》是一款基于Android平台的应用,其源码提供了丰富的学习资源,涵盖了移动开发中的多个重要技术领域。从给出的标签来看,我们可以深入探讨以下几个关键知识点: 1. **重力感应**:在Android中,重力感应...
### Android滑动切换及屏幕手势实现详解 随着智能手机时代的到来,触摸屏技术逐渐成为主流,传统的物理按键被触摸屏操作所取代。其中,滑动手势因其直观性和便捷性而受到用户的广泛欢迎。本文将深入探讨如何在...
总之,将ZXing从横屏改竖屏涉及多个层面的调整,包括UI布局、屏幕旋转处理、相机预览和捕获框的适配。这是一个涉及Android基础、图形处理和相机操作的综合实践。通过这样的修改,我们可以使应用程序更加符合用户的...