Android -- 双屏异显之方法二

news2024/12/23 17:08:25

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;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //副屏布局,与activity内一样
        setContentView(R.layout.layout_second);

        initUI();
    }

    private void initUI() {
        //绑定控件
    }

    public void release() {
        //关闭页面前注销资源
    }
}

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

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

相关文章

易语言 OCR 文字识别

一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…

Linux 网络维护相关命令简介

目录 零. 概要一. ping二. ip命令2.1 ip address2.2 ip route2.3 ip neighbour 三. traceroute四. DNS查询4.1 nslookup4.2 dig 五. ss 查看网络连接状态 零. 概要 ⏹在Linux系统中有2套用于网络管理的工具集 net-tools 早期网络管理的主要工具集,缺乏对 IPv6、网…

vscode中同时运行两个python文件(不用安装插件)

如何在vscode中同时运行两个python文件呢?今天在工作中遇到了这个问题。 查了网上的方法是安装coder runner插件,后来发现自身就有这个功能。所以记录一下,方便后续查找: 这是我的第一个文件,点击右上角的运行旁边的小箭头,有一…

matlab绘图时设置左、右坐标轴为不同颜色

目录 一、需求描述 二、实现方法 一、需求描述 当图中存在两条曲线,需要对两条曲线进行分别描述时,应设置左、右坐标轴为不同颜色,并设置刻度线,且坐标轴颜色需要和曲线颜色相同。 二、实现方法 2.1、实现目标: 1…

解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题

配置一下apache里面的配置文件:httpd.conf 和 httpd.vhosts.conf httpd.conf httpd-vhosts.conf 重启服务 展示: 浏览器中中文乱码问题:

RunCam WiFiLink连接手机图传测试

RunCam WiFiLink中文手册从这里下载 一、摄像头端 1.连接天线(易忘) 2.打开摄像头前面的盖子(易忘) 3.接上直流电源,红线为正,黑线为负 4.直流电源设置电压为14v,电流为3.15A, 通…

用JAVA做了一个登录窗体练习

目 录 说明运行后的效果代码 说明 做了一个登录窗体作为练习,分享给大家,其中涉及到窗体、图板、随机数等内容,为了方便和我一样的小白可以看的比较明白,所以尽量详细的标注了注释,希望能帮到同样在学习路上的朋友 运…

《开启微服务之旅:Spring Boot 从入门到实践》(一)

Spring Boot Spring Boot 入门 Spring Boot 简介(脚手架) 简化Spring应用开发的一个框架; 整个Spring技术栈的一个大整合; J2EE开发的一站式解决方案; 优点:快速创建独立运行的spring项目以及与主流…

springboot466大学生就业服务平台(论文+源码)_kaic

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统大学生就业服务平台信息管理难度大,容错率低&…

ROS1入门教程2:主题发布和订阅

一、创建发布者 创建源文件publisher.cpp&#xff0c;并写入以下内容&#xff1a; #include <iostream>#include "ros/ros.h" #include "std_msgs/String.h"int main(int argc, char* argv[]) {std::string nodeName "publisher"; // 节…

WALN无线网络的创建和管理-二层组网

⼆层组⽹配置过程&#xff1a; 在AC上配置DHCP 1&#xff0c;先将AP划分到管理vlan&#xff0c;并在相关链路上运⾏vlan数据通过 2&#xff0c;在AC上创建管理vlan的vlanif接⼝&#xff0c;配置IP参数 3&#xff0c;在AC上配置DHCP服务器 4&#xff0c;指定WLAN管理vlan&am…

EasyGBS国标GB28181平台P2P远程访问故障排查指南:客户端角度的排查思路

在现代视频监控系统中&#xff0c;P2P&#xff08;点对点&#xff09;技术因其便捷性和高效性而被广泛应用。然而&#xff0c;当用户在使用P2P远程访问时遇到设备不在线或无法访问的问题时&#xff0c;有效的排查方法显得尤为重要。本文将从客户端的角度出发&#xff0c;详细探…

基于Controller模式部署RocketMQ集群

RocketMQ简介 RocketMQ是一种分布式消息中间件&#xff0c;它由阿里巴巴集团开发&#xff0c;并且后来捐献给了Apache软件基金会。RocketMQ最初是为了解决阿里巴巴内部因业务增长带来的高吞吐量需求而设计的。随着其不断发展和完善&#xff0c;RocketMQ已经成为了一个能够处理…

性能】JDK和Jmeter的安装与配置

一、JDK环境配置 1. 下载JDK 官网下载地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html 选择对应系统的安装包&#xff0c;下载后安装&#xff0c;安装中记录JDK安装的地址&#xff0c;之后一直点击下一…

分布式协同 - 分布式事务_2PC 3PC解决方案

文章目录 导图Pre2PC&#xff08;Two-Phase Commit&#xff09;协议准备阶段提交阶段情况 1&#xff1a;只要有一个事务参与者反馈未就绪&#xff08;no ready&#xff09;&#xff0c;事务协调者就会回滚事务情况 2&#xff1a;当所有事务参与者均反馈就绪&#xff08;ready&a…

ubuntu 如何重装你的apt【apt-get报错: symbol lookup error/undefined symbol】

副标题:解决error:apt-get: symbol lookup error: /lib/x86_64-linux-gnu/libapt-private.so.0.0: undefined symbol: _ZNK13pkgTagSection7FindULLENS_3KeyERKy, version APTPKG_6.0 文章目录 问题描述报错分析解决方案:重装你的apt1、查看你的ubuntu版本2、下载适配你的ap…

RK3588 , mpp硬编码yuv, 保存MP4视频文件.

RK3588 , mpp硬编码yuv, 保存MP4视频文件. ⚡️ 传送 ➡️ Ubuntu x64 架构, 交叉编译aarch64 FFmpeg mppRK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGBRk3588 FFmpeg 拉流 RTSP, 硬解码转RGBRK3588 , mpp硬编码yuv, 保存MP4视频文件.

纯血鸿蒙APP实战开发——动态注册字体案例

介绍 本示例介绍利用上传下载模块和注册自定义字体模块实现从网络上下载字体并注册应用字体的功能&#xff0c;该场景多用于由特殊字体要求的场景。 效果图预览 使用说明 进入本案例页面后&#xff0c;可点击下方按钮切换字体。目前仅提供了思源宋体的注册&#xff0c;第一次…

Oracle中间件 SOA之 OSB 12C服务器环境搭建

环境信息 服务器基本信息 如下表&#xff0c;本次安装总共使用1台服务器&#xff0c;具体信息如下&#xff1a; App1服务器 归类 APP服务器 Ip Address 172.xx.30.xx HostName appdev01. xxxxx.com Alias appdev01 OSB1服务器 归类 OSB服务器 Ip Address 172.xx3…

数据结构---------二叉树前序遍历中序遍历后序遍历

以下是用C语言实现二叉树的前序遍历、中序遍历和后序遍历的代码示例&#xff0c;包括递归和非递归&#xff08;借助栈实现&#xff09;两种方式&#xff1a; 1. 二叉树节点结构体定义 #include <stdio.h> #include <stdlib.h>// 二叉树节点结构体 typedef struct…