Android Q 双屏异显

Android Q 双屏异显

现在很多AR场景,需要扩展屏或者虚拟屏VD 进行展示3D画面,并通过手柄或者手机模拟的触摸板进行交互控制。从android官网多屏幕支持了解其android Q 已经有多屏支持了,方便扩展屏幕及折叠屏使用。

此处记录下其体验demo

经过验证,可支持同应用不同activity 启动在第二块屏幕上。

imageView3.setOnClickListener {
            val manager = activity?.getSystemService(Context.DISPLAY_SERVICE) as DisplayManager
            val displays = manager.displays
            Log.e("zjr", "onCreate: displays.size = ${displays.size}")
            if (displays.size > 1) {

                Toast.makeText(
                    activity,
                    "开启扩展屏:displayId = ${displays[1].displayId}",
                    Toast.LENGTH_SHORT
                ).show()

                Log.w(TAG, "onActivityCreated: flags = ${displays[1].flags},private = ${Display.FLAG_PRIVATE},secure = ${Display.FLAG_SECURE}" )
                val options = ActivityOptions.makeBasic()
                options.launchDisplayId = displays[1].displayId
                val optsBundle = options.toBundle()

                //   val intent = Intent(activity,SecondActivity::class.java)
                // "com.android.settings", "com.android.settings.Settings"
               

//                val intent = Intent()
//                intent.component =
//                    //ComponentName("com.android.settings","com.android.settings.Settings")

                val intent = Intent(activity,SecondActivity::class.java)
                        intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
                //判断是否有限制启动在对应的display上
                if (activityManager.isActivityStartAllowedOnDisplay(
                        context!!,
                        options.launchDisplayId,
                        intent
                    )
                ) {
                    startActivity(intent, optsBundle)
                } else {
                    Log.e(TAG, "onActivityCreated: 不支持启动在扩展屏幕上")
                    Toast.makeText(activity, "不支持启动在扩展屏幕上", Toast.LENGTH_SHORT).show()
                }
            }

        }

其中比较坑的地方就是:

intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)

必须添加如上flag 才能正常启动在扩展屏上。

 测试环境: 外接typec扩展屏,支持dp输出的手机,如oppo Reno; 小米直接去除了DP输出。。。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Android双屏异显是指在使用Android系统的设备上,将屏幕内容同时显示在两个不同的显示屏上。 Android双屏异显提供了更多的屏幕空间,可以同时显示更多的内容。在处理多任务的情况下,用户可以在一个屏幕上工作,另一个屏幕上显示其他相关信息。例如,在编辑文档时,可以将工具栏和菜单显示在一个屏幕上,同时在另一个屏幕上显示实时预览。 实现Android双屏异显的方法有多种。最常见的方法是使用HDMI或其他类型的视频输出接口连接外部显示设备,如电视或投影仪。通过将设备与外部显示设备连接,用户可以将内容镜像或扩展到外部屏幕上。 另一种方法是使用Android设备自带的无线投屏功能,如Miracast或Chromecast。用户可以将内容通过无线连接投射到另一个屏幕上。这种方法可以提供更大的灵活性和便利性,因为不需要使用任何物理连接线。 尽管Android双屏异显提供了更多的功能和便利性,但也有一些限制和挑战。首先,设备本身的处理能力和内存大小可能会对双屏显示的性能产生一定的影响。此外,应用程序的适配问题也是一个挑战。并非所有的应用程序都能适应双屏异显,并且在两个屏幕上显示内容可能会带来用户界面和交互设计上的问题。 总的来说,Android双屏异显为用户提供了更大的屏幕空间和更多的显示选项,提升了多任务处理的效率和便利性。随着技术的不断发展,我们相信Android双屏异显在未来还会有更多的创新和改进。 ### 回答2: Android双屏异显指的是在Android设备上同时使用两个屏幕进行不同的显示操作。这种功能可以通过一些特定的设备或者应用程序来实现。 在一些特定的Android设备上,如折叠式手机或者可插拔模块化手机,可以使用双屏异显功能。用户可以将设备的屏幕折叠或连接到外部显示器,然后在两个屏幕上同时显示不同的内容。这为用户提供了更大的显示区域,使得多任务处理更加方便。例如,在一边浏览网页或观看视频,同时在另一屏幕上进行聊天或写作业。 此外,也有一些应用程序可以在普通的Android设备上实现双屏异显的功能。例如,一些视频播放器可以将视频内容显示在外部屏幕上,而控制界面则显示在主屏幕上。这样,用户可以同时观看视频并控制播放器的功能。还有一些多任务管理应用程序可以帮助用户在不同的屏幕上同时打开和操作多个应用程序。 使用Android双屏异显功能可以提高用户的工作效率和娱乐体验。无论是通过特定的设备还是应用程序,双屏异显都为用户提供了更大的显示空间和更灵活的操作方式。未来,随着技术的发展和Android系统的升级,这种功能可能会得到进一步的改进和拓展,为用户带来更便捷的使用体验。 ### 回答3: Android双屏异显是指在一台Android设备上同时连接两个显示屏并显示不同的内容。这种功能通常可以通过HDMI接口或无线投射技术实现。 首先,连接第一个显示屏。用户可以使用HDMI线缆将设备连接到外部显示器,或者使用无线交流协议,如Miracast,将内容投影到另一个显示设备上。 然后,用户可以选择在设置中配置不同的显示模式。例如,可以选择克隆模式,使两个屏幕显示相同的内容,或者扩展模式,使两个屏幕显示不同的内容。 在这种情况下,用户可以同时在主屏幕上进行一项任务,如浏览网页,而在外部显示屏上播放视频或展示演示文稿。这使得Android设备成为一个多任务处理的工具,并提供更大的屏幕空间和潜在的生产力提升。 但是,要注意的是,并非所有的Android设备都支持双屏异显功能。这取决于设备的硬件和操作系统的版本。用户应该查看设备的规格说明和操作系统设置,以确定是否支持此功能。 总而言之,Android双屏异显是一种方便和强大的功能,允许用户同时在两个屏幕上处理不同的任务。它为用户提供了更大的屏幕空间和更高的生产力,使Android设备成为更加多功能的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值