0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【技术分享】快速在SX-3568商显主板的Android系统上实现双屏异显

ZLG致远电子 2023-03-06 13:54 次阅读

Linux上开发APP太过缓慢或者动画不够炫酷?该使用Android系统进行开发啦!本文分享如何快速在SX-3568商显主板的Android系统上实现双屏异显。

本次使用的平台为致远电子SX-3568系列智慧商显主板,支持HDMI、eDP、LVDS、MIPI DSI等多种显示接口,搭载高性能GPU,具备视频解码能力,支持4K 60FPS显示。本次选用MIPIDSI屏幕作为主屏,HDMI屏幕作为副屏进行讲解,使用SX-3568在Android系统上实现双屏异显,可以应用在商业显示器、智能家居等多种应用场景。

63f81cdc-b943-11ed-ad0d-dac502259ad0.jpg  确认主副屏

使用命令getprop | grep vendor.hwc.device可以查看当前的主副屏。对应属性vendor.hwc.device.primary为主屏,vendor.hwc.device.extend为副屏。可以看到此处主屏为MIPI DSI,副屏为HDMI。

6405b54a-b943-11ed-ad0d-dac502259ad0.png

63f81cdc-b943-11ed-ad0d-dac502259ad0.jpg  代码实现

在MainAvctivity中实现showSecondByActivity方法,用于调用第二个Avctivity并绑定显示器。

private void showSecondByActivity(Context context){ ActivityOptions options = ActivityOptions.makeBasic(); MediaRouter mediaRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE); MediaRouter.RouteInfo route = mediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); if (route != null) { Display presentationDisplay = route.getPresentationDisplay(); options.setLaunchDisplayId(presentationDisplay.getDisplayId()); Intent intent = new Intent(MainActivity.this, SecondActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent, options.toBundle()); }}

第一步,在showSecondByActivity函数中,首先通过ActivityOptions类的makeBasic方法,创建一个基本的ActivityOptions类变量 ,ActivityOptions是一个可用于在新建一个Activity时候,将Bundle信息传递给新Activity的类,用于后面在创建新的Activity时候通过setLaunchDisplayId指定 SecondActivity 在启动后应显示在副屏上;

第二步,获取系统中的MediaRouter系统服务,用于后续获取显示屏幕ID来指定屏幕。MediaRouter Service是一个用于多媒体路由的系统服务,getSelectedRoute方法会返回一个可用的RouteInfo,也就是多媒体路由的对应信息。然后使用getPresentationDisplay从路由信息中获取一个新的Presentation,Presentation是一个特殊的Dialog,可以在创建它的时候将它直接关联到新的显示器上;

第三步,调用getDisplayId方法获取显示器ID,将ActivityOptions的DisplayId设置为新的显示器的ID,再通过Intent在新的Presentation创建一个新的Activity即可。这样在新的Activity上显示的内容就会跟随新的Presentation显示在副屏上。

然后在MainAvctivity中就可以直接调用showSecondByActivity,比如在onCreate方法中调用。这里让它显示activity_main.xml里面的内容。

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showSecondByActivity(MainActivity.this);}

SecondActivity类的内容用于测试,仅仅用于显示不同内容。这里让它显示activity_second.xml里面的内容,并让activity_second.xml的内容和activity_main.xml有差异。

public class SecondActivity extends AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); }}

最后修改AndroidManifest,xml中内容。Activity的多显示器支持需要支持。同时 application 或者 activity 需要支持分屏属性即或者标签下设置新的属性属性用于指定应用支持多窗口模式。

activity> application>manifest>

642702cc-b943-11ed-ad0d-dac502259ad0.jpg 显示效果

编译并运行后,可以在SX-3568上看到双屏异显的效果如下图,其中MIPI DSI主屏上显示为activity_main.xml的内容;HDMI副屏上显示为activity_second.xml的内容。

64322224-b943-11ed-ad0d-dac502259ad0.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3952

    浏览量

    128708
  • 主板
    +关注

    关注

    53

    文章

    2016

    浏览量

    71984
  • 系统
    +关注

    关注

    1

    文章

    1024

    浏览量

    21557
收藏 人收藏

    相关推荐

    视美泰受邀出席“+AI重塑产业新生态论坛”并发表主题演讲

    "+AI"如何加速重构产业价值链。作为行业技术创新的领军者,温总在论坛发表了题为《AI赋能新机遇》的主题演讲,深入剖析了AI
    的头像 发表于 03-10 14:04 391次阅读
    视美泰受邀出席“<b class='flag-5'>商</b><b class='flag-5'>显</b>+AI重塑产业新生态论坛”并发表主题演讲

    迅为RK3588S开发板多屏同多屏多屏

    迅为RK3588S开发板多屏同多屏多屏
    的头像 发表于 11-29 14:59 590次阅读
    迅为RK3588S开发板多屏同<b class='flag-5'>显</b>多屏<b class='flag-5'>异</b><b class='flag-5'>显</b>多屏<b class='flag-5'>异</b>触

    领域的国产一体机主板,提升显示效果的解决方案

    现代商业显示()领域,随着信息化和数字化的快速发展,对显示设备的要求不断提高。领域涵盖
    的头像 发表于 09-04 10:08 496次阅读

    MD9360多屏同应用实例

    MD9360-T核心板多屏同技术,让你的显示学会分身术。MD9360-EV-Board评估板(如图1所示)是致远电子精心推出的集工控与评估于一身的评估底板。该评估底板可选搭配M
    的头像 发表于 08-07 08:25 486次阅读
    MD9360多屏同<b class='flag-5'>显</b><b class='flag-5'>异</b><b class='flag-5'>显</b>应用实例

    3568F-三屏同方案演示

    、TFT LCD、HDMI OUT视频接口,支持多屏,板载WIFI、Bluetooth模块,支持选配4G/5G模块、SATA固态硬盘,方便用户快速进行产品方案评估与技术预研。 图
    发表于 07-25 15:06

    三屏案例分享,基于全国产RK3568J工业平台!

    升级,实现多屏已不再困难。而作为国产工业处理器中的佼佼者,瑞芯微RK3568J处理器可实现三屏
    发表于 07-17 10:53

    新品|酷暑的新打开方式:SXB3568主板

    开源鸿蒙硬件方案领跑者触觉智能选主板,接口杂太多?成本太高?性能不够?来看看触觉智能全新推出基于RockchipRK3568处理器开发设计的SXB3568
    的头像 发表于 07-13 08:33 462次阅读
    新品|酷暑的新打开方式:SXB<b class='flag-5'>3568</b><b class='flag-5'>主板</b>

    全志T3+Logos FPGA开发板——双屏开发案例

    案例功能:实现TFT LCD(主屏) + CVBS OUT(副屏)双屏功能。程序通过指定参数不同类型的显示屏
    发表于 07-12 17:27

    全志T527板-米尔专为智慧设计的主板

    MYD-LT527-SX板全志T527,八核A55,多屏,专为智慧
    发表于 06-17 18:27 3次下载

    国产芯,米尔基于全志T527的主板及工业微型控制器

    的企业客户,为客户提供了快速开发、测试和原型验证的平台。 2、MYD-LT527-SX板:多屏
    发表于 06-14 17:26

    广和通智能模组助力双屏技术革新

    随着物联网设备日常生活和工作中的普及,用户对于多屏的需求愈发强烈。特别是在车联网和智慧零售领域,双屏应用的需求日益增长。
    的头像 发表于 05-24 10:31 544次阅读

    工控主机的集和独口怎么区分

    工控主机,作为工业控制领域的核心设备,其图形处理能力对于整个系统的运行效率至关重要。工控主机中,集成显卡(集)和独立显卡(独)是两种常见的图形处理方案。它们各自具有不同的特点和应
    的头像 发表于 05-21 18:19 1715次阅读
    工控主机的集<b class='flag-5'>显</b>和独<b class='flag-5'>显</b>口怎么区分

    轻轻松松RK356X Android11适配ML307R Cat.1模组

    的RK3568行业主板,预计6月上旬正式架售卖。该行业主板主板具有以下特点:丰富屏接口:⽀持三屏
    的头像 发表于 05-16 08:32 1643次阅读
    轻轻松松<b class='flag-5'>在</b>RK356X <b class='flag-5'>Android</b>11适配ML307R Cat.1模组

    全志A527广告机安卓主板 自助终端主板

    AI-830主板是一款专为智慧和智能终端系统设计的高性能主板。它搭载了全志A527 八核芯片,芯片自带2.0T算力NPU,搭载
    的头像 发表于 04-15 15:55 2010次阅读
    全志A527<b class='flag-5'>商</b><b class='flag-5'>显</b>广告机安卓<b class='flag-5'>主板</b> 自助终端<b class='flag-5'>主板</b>

    产品的EMC问题整改案例

    产品出现的EMC问题点有以下这几点: (1)显示屏时钟倍频超标; (2)数据传输造成噪声干扰; (3)主板电源DCDC噪声; (4)显示屏背光模块超标; (5)产品供电适配器噪声干扰
    的头像 发表于 04-02 14:23 631次阅读
    三<b class='flag-5'>商</b><b class='flag-5'>显</b>产品的EMC问题整改案例