Android Graphics 显示系统 - VirtualDisplay mirrorDisplay 简单示例

news2024/12/22 21:01:03

Life is like a box of chocolates, you never konw what you're going to get。最近我也得到了一块巧克力,迫不及待地想尝一下甜的惊喜 。

前言

上一篇文章,我们分享了一个VirtualDisplay的简单实例,主要是为了引入创建虚拟屏幕都使用了哪些APIs,参考

Android Graphics 显示系统 - VirtualDisplay的初印象 - 简单示例

本篇再补充一点功能:mirrorDisplay

有多屏开发经验的小伙伴,一定知道在开发者选项中可以开启模拟第二屏幕,其实就是创建虚拟屏幕,并对主屏幕做了镜像显示

图片

UI操作按钮太繁琐,可以直接adb/console命令触发:

#创建一块辅助屏显示器

$settings put global overlay_display_devices "1920x1080/320,secure"

#创建两块辅助屏显示器

$settings put global overlay_display_devices "1920x1080/320,secure;1920x1080/320,secure"

#创建三块辅助屏显示器也是类似,以此类推

$settings put global overlay_display_devices "1920x1080/320,secure;1920x1080/320,secure;1920x1080/320,secure"

#关闭辅助屏显示器 

$settings put global overlay_display_devices "none"

secure标记可以不用带,按需!

如果抛开复杂的WMS等上层逻辑,从C++ level怎么去createDisplay与mirrorDisplay呢?

我们就分享个demo实例,达到类似开启Simulate secondary displays的效果。

效果
 

console下执行命令创建虚拟屏幕和主屏幕的镜像,把主屏幕的镜像显示到虚拟屏幕,这样主屏幕和虚拟屏幕就显示同样的内容了。

console # VirtualDisplayDemo -mCreate Virtual Display(layer_stack=99)Press any key to exit, waiting ...

效果如下:

图片

图片

源码下载,阅读原文

Android Graphics 显示系统 - VirtualDisplay & mirrorDisplay 简单示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# 如何检查两个给定的线段是否相交(How to check if two given line segments intersect)

给定两条线段(p1, q1)和(p2, q2),判断给定的线段是否相交。 在讨论解决方案之前,让我们先定义方向的概念。平面中有序点三元组的方向可以是 –逆时针 –顺时针 –共线 下图显示了(a,b,c) 的不同可能方…

多进程批量下载era5再分析数据

1.配置key https://cds.climate.copernicus.eu/api-how-to 获取key 修改配置文件,把url和key复制进行 vim $HOME/.cdsapirc2.下载 根据要求修改年和月份等变量 import cdsapi import calendar import concurrent.futures import osdef download_month_data(year,…

KEIL编译生成.bin文件的简单方法

fromelf --bin -o "$LL.bin" "#L" 如图 如果不行请尝试其他方法

大模型算法入行转行?我建议你这样做!

最近私信问我关于入行、转行方面的问题比较多,就专门写一篇讲讲我的理解。 首先说明一下个人的背景和现状,我本人是本科学历,有互联网大厂搜推方向经验,后来跳到中厂继续做推荐,去年开始做大模型。现在是个小组长&…

c中 int 和 unsigned int

c语言中,char、short、int、int64以及unsigned char、unsigned short、unsigned int、unsigned int64等等类型都可以表示整数。但是他们表示整数的位数不同,比如:char/unisigned char表示8位整数; short/unsigned short表示16位整…

桂林自闭症寄宿学校:用关爱点亮未来

在桂林这座风景如画的城市中,隐藏着一所特别的学校,它以无尽的关爱与专业,为自闭症儿童撑起了一片希望的天空,这就是星贝育园自闭症儿童寄宿制学校。在这里,每一个孩子都是独一无二的,他们被温柔以待&#…

仪器计量校准的设备保养方法有哪些?

仪器校准、检定,是对设备和仪器进行校正和校验。与规范所再现的相应值相关联的一组检测,以规定精确测量仪器或检测系统所指示的值,及产品测量仪器和对照化学物质所隐含的值,是否符合所要求的标准。 仪器校准可能包括以下过程&…

postgresql|数据库|pg_repack和idle_in_transaction_session_timeout参数的关系

一、问题描述 在使用pg_repack这个工具做数据库的表膨胀清理过程中,经常会遇到类似这样的警告: 这里的警告表明在膨胀治理的时候,此表遇到了事务阻塞,而此时我们有三种选择,第一个选择是等待该事务结束,第…

在Excel里制作简单游戏界面

生成随机激活码 找工具箱 插入按钮 建宏 方法一:新建按钮的时候创建宏 方法二:右键->指定宏 VBA VBA代码界面 调整字体 VBA代码 Public str As String 存储激活码显示的字符 Public st As String 中间变量,用来替代随机数 Public ot…

[实践应用] 深度学习之激活函数

文章总览:YuanDaiMa2048博客文章总览 深度学习之激活函数 激活函数基本概念分类常见的激活函数2. Tanh/双曲正切激活函数3. ReLU激活函数4. Softmax激活函数 PyTorch中如何使用1. 线性激活函数2. 非线性激活函数SigmoidTanhReLULeaky ReLUParametric ReLU (PReLU) 使…

ThinkPHP Email功能如何配置才能发送邮件?

ThinkPHP Email发送流程?使用ThinkPHP发Email方法? ThinkPHP作为一款流行的PHP框架,提供了强大的Email功能,使得开发者能够轻松实现邮件发送。AokSend将详细介绍如何配置ThinkPHP Email功能,以确保邮件能够顺利发送。…

基于多种智能优化算法优化BP神经网络的数据时序预测

基于多种智能优化算法优化BP神经网络进行数据时序预测的研究,旨在通过引入多种优化算法来提高传统BP神经网络(Backpropagation Neural Network)的预测精度与泛化能力。 代码原理及流程 1. BP神经网络简介 BP神经网络是一种常见的前馈神经网…

别找了!包含gpt在内的国内可以使用的Ai网站都在这了【最新可用】

在当今人工智能迅速发展的时代,智能创作与对话平台为用户提供了多样化的功能支持。以下是一些国内代表性的GPT平台,涵盖了从个人到企业的广泛需求,您可以根据自己的需求灵活选择。我们还为您整理了这些平台的链接,方便直接体验。&…

谷歌对抗司法部:为什么谷歌的“数百个竞争对手”说法站不住脚

随着谷歌反垄断陪审团审判的进行,谷歌声称美国司法部对广告技术市场的看法狭隘,并且广告商和出版商有很多替代选择。然而,证据并不支持这一说法。 谷歌误导性地声称有“数百个竞争对手。” 虽然存在许多广告技术提供商,但谷歌在…

【Petri网导论学习笔记】Petri网导论入门学习(二)

Petri 网导论学习笔记(二) 如需学习转载请注明原作者并附本帖链接!!! 如需学习转载请注明原作者并附本帖链接!!! 如需学习转载请注明原作者并附本帖链接!!&am…

如何进行DAP-seq的数据挖掘,筛选验证位点

从样本准备到寄送公司,每一天都在“祈祷”有个心仪的分析结果,终于在这天随着邮件提示音的响起,收到了分析结果...... 分析前工作 爱基在进行数据分析之前,会有两次质控报告反馈给老师们。第一个,基因组DNA的提取质控…

线上找工作求职招聘小程序源码系统 带完整的安装代码包以及搭建部署教程

系统概述 在当今这个数字化时代,互联网已经渗透到我们生活的方方面面,其中就业市场也不例外。随着移动互联网的普及,线上找工作已成为许多求职者的首选方式。为了满足这一市场需求,我们精心打造了一款“线上找工作求职招聘小程序…

SpringMVC中的前置调用

这两天在看一个老项目,用的SpringMVCJSP。因为很久没看SpringMVC,在看一个Controller的时候竟然看不懂了哈哈哈哈~ Controller: Controller RequestMapping("example") FunctionId("F001") public class ExampleContro…

安全团队需要了解的六大最危险的新威胁

人工智能的崛起为网络安全带来了非凡的机遇和令人生畏的挑战。 虽然人工智能可以轻松识别和利用漏洞,但如果没有强大的安全措施,部署人工智能会带来重大风险。 随着技术的发展,许多组织优先考虑人工智能创新,却忽视了安全性&#…

《黑神话悟空》有情众生三十四难成就指南

在《黑神话悟空》的丰富世界中,解锁“有情众生三十四难”成就是一项颇具挑战性的任务。这个成就要求玩家完成一系列精细的支线任务,并在小雷音寺击败不白。以下是详细的成就解锁步骤,助你在这款动作角色扮演游戏中取得新的进展。 如果需要一个…