Android -- 双屏异显之方法二

news/2024/12/23 10:50:32/

Android – 双屏异显之方法二: DisplayManager

PS:
1. 使用改方法主板需连接至少两个输出显示屏;
2. 副屏内部实现与MediaRouter下一样;

使用方法

# 主屏activity内:
private SecondDisplay secondDisplay;private void dualScreen3288() {DisplayManager displayManager = (DisplayManager) getApplicationContext().getSystemService(DISPLAY_SERVICE);if (displayManager != null) {Display[] presentationDisplays = displayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION);//检测到主屏外显示屏数if (presentationDisplays.length > 0) {// If there is more than one suitable presentation display, then we could consider giving the user a choice.  For this example, we simply choose the first display which is the one the system recommends as the preferred presentation display.//多个附加屏时可自由选择,这里选第一个secondDisplay = new SecondDisplay(this, presentationDisplays[0]);try {secondDisplay.show();} catch (Throwable e) {e.printStackTrace();}} else {logError("showDualScreen: 未找到副屏!");}}
}//关闭副屏
private void closeSecondScreen() {if (secondDisplay != null) {secondDisplay.release();secondDisplay.dismiss();secondDisplay = null;}
}

SecondDisplay.java (副屏类)

//主要继承Presentation类
public class SecondDisplay extends Presentation {private static final String TAG = "SecondDisplay";private Context mContext;//构造函数public SecondDisplay(Context outerContext, Display display) {super(outerContext, display);this.mContext = outerContext;}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//副屏布局,与activity内一样setContentView(R.layout.layout_second);initUI();}private void initUI() {//绑定控件}public void release() {//关闭页面前注销资源}
}

http://www.ppmy.cn/news/1557446.html

相关文章

大数据分析案例-基于XGBoost算法构建笔记本电脑价格预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

保姆级教程Docker部署RabbitMQ镜像

目录 1、创建挂载目录 2、运行RabbitMQ容器 3、Compose运行RabbitMQ容器 4、开启界面插件 5、查看RabbitMQ运行状态 6、常见问题处理 1、创建挂载目录 # 创建宿主机rabbitMQ挂载目录 sudo mkdir -p /data/docker/rabbitmq/log# 修改log目录权限 sudo chmod 777 /data/do…

C++9--前置++和后置++重载,const,日期类的实现(对前几篇知识点的应用)

目录 1.前置和后置重载 2.const成员 3.日期类的实现 1.前置和后置重载 #include<iostream> using namespace std;class Date { public:Date(int year 2024, int month 1, int day 1){_year year;_month month;_day day;}//前置&#xff1a;返回1之后的结果//注意…

Vue.js前端框架教程8:Vue消息提示ElMessage和ElMessageBox

文章目录 ElMessageElMessageBox在 Vue 中,ElMessage 和 ElMessageBox 是 Element UI 和 Element Plus 提供的两个非常有用的组件,用于显示消息提示和弹窗对话框。 ElMessage ElMessage 是用于显示全局消息提示的组件。它可以显示不同类型的消息,如成功、警告、错误等。以…

Python爬虫实战:深入Lazada商品详情获取

在全球化电商的浪潮中&#xff0c;东南亚市场以其巨大的潜力和增长速度吸引了全球的关注。Lazada作为该地区的主要电商平台之一&#xff0c;提供了丰富的商品信息和市场动态。对于市场研究人员、电商企业乃至个人开发者来说&#xff0c;能够高效地获取Lazada商品详情是至关重要…

【CVE-2024-56145】PHP 漏洞导致 Craft CMS 出现 RCE

大多数开发人员都同意,与 15 年前相比,PHP 是一种更加理智、更加安全和可靠的语言。PHP5早期的不良设计已让位于更好的开发生态系统,其中包括类、自动加载、更严格的类型、更理智的语法以及一大堆其他改进。安全性也没有被忽视。 register_globals一些老读者可能还记得和的…

Keil5 STM32库函数的工程

库函数来间接的操作寄存器 条件编译&#xff0c;如果你定义了USE_STDPERIPH_DRIVER &#xff08;使用标准外设驱动&#xff09;这个字符串&#xff0c;stm32f10x_conf.h才有效

JavaEE 导读与环境配置

JavaEE 介绍 Java EE(Java Platform Enterprise Edition), Java 平台企业版. 是JavaSE的扩展, ⽤于解决企业级的开发需求, 所以也可以称之为是⼀组⽤于企业开发的Java技术标准. 所以, 学习JavaEE主要是学习Java在企业中如何应⽤ 框架学习 Java EE 课程共涉及4个框架的学习: Spr…