android 多屏幕显示activity,副屏,无线投屏

article/2025/7/21 16:42:26

目录

1. 首先,需要一个副屏

1. 1 可以通过代码的形式自己创建VirtualDispaly ,创建副屏。

1.2 或者,在手机的开发者模式中直接开启模拟副屏,也是可以的。

2.0 怎么利用这个副屏幕?

2.1  用作 presentation 演示ppt:

2.2 克隆主屏幕的内容,就是主屏幕显示什么,副屏显示同样的内容,镜像模式。

2.3  将一个activity 从第二个屏幕上启动,作为一个独立的屏幕


首先说明一下这个多屏幕的概念,这里不是指分屏显示。
分屏显示:是 一个屏幕分出多个窗口,分别显示不同app.
多屏支持:是一个设备有多个屏幕,怎么让不同的屏幕显示不同的app,或者是一个app同时用两个屏幕来显示不同的页面内容。

多屏幕显示,现在的车机都逐渐趋向于多个屏幕,一个android系统多个屏幕也越来越普遍,就算是手机,也出现比如多屏协作的场景。我猜它的原理也是在手机端创建虚拟无线屏,然后将app的activity单独在无线屏中启动。
 

本篇在手机上,验证将app的activity启动到另一个屏幕上。

1. 首先,需要一个副屏

1. 1 可以通过代码的形式自己创建VirtualDispaly ,创建副屏。


1.2 或者,在手机的开发者模式中直接开启模拟副屏,也是可以的


 将会在屏幕上看到一个叠加的小窗口,就是虚拟的第二个屏幕。


2.0 怎么利用这个副屏幕?

2.1  用作 presentation 演示ppt:

          presentation 顾名思义就是用来做演示的,一个窗口,好比windows  打开ppt的时候接上投影仪或者第二个屏幕,就可以开启演示模式,只是将ppt的内容输出到第二个屏幕,而电脑自己的控制桌面都是在自己的屏幕上。 关于怎么使用者presentation,不赘述。

2.2 克隆主屏幕的内容,就是主屏幕显示什么,副屏显示同样的内容,镜像模式。

       开发者模式中创建的虚拟副屏默认就是这种模式,createVirtualDispaly的时候可以指定flag. 

2.3  将一个activity 从第二个屏幕上启动,作为一个独立的屏幕

          需要用startActivity()方法,这个Activity将只会在一个屏幕上显示

  •  给activity的启动选项里面,加上要启动的设备ID。
  •  Intent中添加上Intent.FLAG_ACTIVITY_NEW_TASK

 代码如下:

// 多次创建副屏 则副屏的id都是增加的,所以不一定是1,这里还是获取一下int SecondeDid = 0;DisplayManager displayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);for (Display display : displayManager.getDisplays()) {Log.d(TAG, "dispaly: " + display.getName() + ", id " + display.getDisplayId() + " :" + display.toString());if (display.getDisplayId() != 0) {SecondeDid = display.getDisplayId();}}// 先检查一下是不是支持在第二屏上显示activity这个特性,
// 在ActivityOptions.java setLaunchDisplayId 上面有相关的说明PackageManager packageManager = getPackageManager();boolean ret = packageManager.hasSystemFeature(PackageManager.FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS);Log.d(TAG, "onCreate: have " + PackageManager.FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS + "   " + ret);// 要加上Intent.FLAG_ACTIVITY_NEW_TASK ActivityOptions options = ActivityOptions.makeBasic();options.setLaunchDisplayId(SecondeDid);Intent intent = new Intent(StartActivity.this, CameraServerActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent, options.toBundle());

如下,将一个只是预览摄像头的 activity给显示在了虚拟副屏上。

 

2.3 方式,如果把用户的输入信息都加入进来,结合上无线投屏就是 多屏协作了,在电脑端独立使用手机的应用。


http://chatgpt.dhexx.cn/article/fC3SVtWd.shtml

相关文章

【Android 屏幕扩展/共享】5分钟搞定—电脑 与 手机共享屏幕

回去看看老家是不是还有旧平板电脑,可以跨设备,共享屏幕哦 一些远程控制软件,诸如:TeamViewer、AnyDesk等。 但是这次我要介绍的是 一款远程显示软件,甚至可以理解成一款简易的KVM系统。 虽然市面上许多远程控制软件…

Android设备之间投屏功能实现

简介 简单实现两个android设备之间的投屏功能。设备间通信是通过局域网,需要连接同一个wifi。 录屏用到系统的MediaProjection,MediaProjectionManager,而编解码用的是MediaCodec,所以设备需要有DSP芯片,大部分手机应…

CSS实现垂直居中的5种方法

第一种 position定位margin负距离 前提是知道居中元素的宽高&#xff0c;首先给居中元素定位&#xff0c;之后设置margin的负距离为具体宽高的一半便可达到垂直居中效果 <style>.box1 {height: 300px;width: 300px;border: 10px solid pink;position: relative;}.box2 {…

在html中如何使div在页面中居中显示

在html中如何使div在页面中居中显示 最近无聊中又再温习了下html,发现好多东西都忘了。尝试着写了一个html网页&#xff0c;结果就连div如何在页面中居中显示都查了好久才弄出来。其实我不知道为什么这样可以实现&#xff0c;因为css还没仔细研究过&#xff0c;等我参加完复试定…

实现div里的img图片水平垂直居中

body结构 <body><div><img src"1.jpg" alt"haha"></div> </body>方法一&#xff1a; 将display设置成table-cell&#xff0c;然后水平居中设置text-align为center&#xff0c;垂直居中设置vertical-align为middle。 <s…

程序运行的错误

程序的运行当可能会出现的问题 没有找到文件&#xff0c;可能是相应的文件没有编写&#xff0c;或者文件名输入的有错误 程序运行可能会出现500的错误&#xff0c;错误原因大概有&#xff0c;下面几种

小程序错误

小程序报错1&#xff1a;unknown: Unexpected token, expected “,” [ appservice 生成错误] pages/page04/page04.js: file: pages/page04/page04.js unknown: Unexpected token, expected “,” (25:4) 错误原因&#xff1a;没有逗号。 小程序报错2 设置 enable-flex 属…

winword.exe应用程序错误0xc0000142

正常使用Word&#xff0c;关机再开机&#xff0c;发现提示错误“winword.exe应用程序错误0xc0000142”&#xff0c;有效解决方法 1、winR&#xff0c;输入CMD 2、输入sfc/scannow 注&#xff1a;sfc/scannow&#xff1a;立即扫描所有受保护系统文件的完整性&#xff0c;并尽可…

解决devenv.exe应用程序错误,应用程序发生异常

解决devenv.exe应用程序错误&#xff0c;应用程序发生异常 打开VS2008/2010时&#xff0c;经常碰到:devenv.exe应用程序错误&#xff0c;应用程序发生异常&#xff0c;造成的原因是多种的&#xff0c;可能是环境变量配置出错&#xff0c;可能是你安装了冲突的插件&#xff0c;如…

添加或删除程序 rundll32.exe-应用程序错误

rundll32.exe-应用程序错误 点击开始-运行&#xff0c;输入 “cmd”&#xff0c;单击确定。 在打开的命令提示符窗口中依次输入第三步中的命令复制&#xff0c;然后粘贴到命令提示符窗口中运行。 regsvr32 Appwiz.cpl regsvr32 Jscript.dll regsvr32 Mshtml.dll regsvr32…

ps无法完成请求因为程序错误

目录 方法一&#xff1a;兼容性 方法二&#xff1a;清空缓存 方法三&#xff1a;图形处理器 方法一&#xff1a;兼容性 1、右击PS软件图标&#xff0c;选择“属性” 2.选择“兼容性”选项卡&#xff0c;勾选“以兼容模式运行这个程序”&#xff0c;并选择兼容的系统&#xf…

ArcGIS遇到严重的应用程序错误的解决办法

ArcGIS遇到严重的应用程序错误的解决办法 GIS思维 很多ArcGIS用户经常会碰到程序突然崩溃遇到严重错误的时候且重启无法解决。网上给出的方法基本就是几种没有&#xff0c;基本也解决不了。 也可以去测试&#xff0c;基本就是&#xff1a; ArcGIS找打不到配置信息&#xff0c…

Photoshop储存为psd出现程序错误提示怎么办?程序错误解决教程

Photoshop是大家进行平面设计是不可或缺的图像处理工具&#xff0c;然而大家在使用Photoshop做图像处理&#xff0c;准备将psd文件保存到电脑&#xff0c;是不是经常遇到过弹出了Photoshop【无法完成请求&#xff0c;因为程序错误】的提醒窗口&#xff0c;无法完成保存工作。具…

java程序出错_java程序错误类型及异常处理

一、程序的错误类型 在程序设计中,无论规模是大是小,错误总是难免的。程序的设计很少有能够一次完成,没有错误的(不是指HelloWorld这样的程序,而是要实现一定的功能,具备一定实用价值的程序),在编程的过程中由于种种原因,总会出现这样或那样的错误,这些程序的错误就是我…

VMware.exe应用程序错误--应用程序无法正常启动(0xc000007b)错误解决方法

1.找到VMware安装包&#xff0c;双击打开安装包 2.进去到选择修复界面 3.等待修复完成然后重启电脑再进去VMware正常工作了 有什么问题可以在评论区交流

计算机显示应用程序错误窗口,电脑提示explorer.exe应用程序错误怎么办|电脑explorer.exe应用程序错误的解决方法...

‍‍ 大家应该都知道explorer.exe是什么进程&#xff0c;这是windows系统中的资源管理器&#xff0c;是windows系统提供的资源管理工具。可是有很多用户遇到了电脑提示explorer.exe应用程序错误的情况&#xff0c;这该怎么办呢&#xff1f;下面由小编跟大家介绍电脑explorer.ex…

应用程序错误(0xc0000135)

dll文件是什么&#xff1f; DLL&#xff08;Dynamic Link Library)文件为动态链接库文件&#xff0c;又称“应用程序扩展”&#xff0c;是软件文件类型。 也是可执行文件&#xff0c;它应许程序共享执行特殊任务所必需的代码和其他资源。 dll文件操作&#xff1a; 理论上DLL…

计算机应用程序错误怎么解决办法,应用错误,教您怎么解决explorer.exe应用程序错误...

小可爱小可爱&#xff0c;你们有没有遇到过“explorer.exe 应用程序错误”这样的问题&#xff0c;有的话快来小编这儿呀&#xff0c;我这儿有解决方法~~不信你们往下滑就知道啦~下面小编我就开始说解决“explorer.exe 应用程序错误”的办法啦~~ 小可爱们&#xff0c;你们知道ex…

中国各个城市OSM地图数据

下载地址&#xff1a;http://download.openstreetmap.fr/extracts/asia/china/

OSM地图瓦片下载器1.0版介绍(win64)

简介 为方便在工作中随时使用OSM瓦片数据&#xff08;公开链接的&#xff09;&#xff0c;特编写此下载工具&#xff0c;并会一直更新&#xff0c;欢迎关注。如果需要了解基本的瓦片知识&#xff0c;请移步 地图瓦片讲解 注意OSM坐标系是WGS84-webMercator 特点 1.下载级别、…