Android4.0 framework默认支持hdmi, 工作流程:

HDMI状态改变时driver通过UEvent "DEVPATH=/devices/virtual/switch/hdmi" 上报给系统

-->

系统在PhoneWindowManager中通过UEventObserver中获取状态,并发送

Intent intent = new Intent(ACTION_HDMI_PLUGGED);
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
intent.putExtra(EXTRA_HDMI_PLUGGED_STATE, plugged);
mContext.sendStickyBroadcast(intent);

给其他应用

-->

在应用中接收broadcastACTION_HDMI_PLUGGED做相应处理

那么如何让你的Hdmi系统匹配android呢:

1) kernel

Hdmi driver中需要创建swtich节点:

/sys/class/switch/hdmi/name

/sys/class/switch/hdmi/state

Cpp代码 
  1. static struct switch_dev sdev = {
  2. .name = "hdmi",
  3. };
  4. // driver register
  5. switch_dev_register(&sdev);
  6. // hdmi plugin
  7. switch_set_state(&sdev, 1);
  8. // hdmi unplug
  9. switch_set_state(&sdev, 0);

2) framework中

处理模式切换,发送WindowManagerPolicy.ACTION_HDMI_PLUGGED

3) app中

处理broadcast WindowManagerPolicy.ACTION_HDMI_PLUGGED

Android4: HDMI system in ICS相关推荐

  1. HDMI 之 CEC

    HDMI CEC是HDMI傳輸的規範之一,CEC是「Consumer Electronics Control」的縮寫,中文可翻譯為「消費性電子產品控制」. 顧名思義,HDMI CEC是用來傳送工業規格 ...

  2. Android中状态栏的隐藏

    Android中状态栏的隐藏 系统中状态栏的隐藏 定制系统的时候,想去掉系统中的状态栏,系统中的状态栏隐藏的可在framework中的SystemUI.apk中修改实现. SystemUI.apk代码 ...

  3. 安卓9.0添加服务修改SELinux

    #文章目录 #前言 #SELinux来源 #SELinux基本框架 #SELinux 在不同版本的表现 #使用audit2allow工具生成SELinux 权限 #完整代码 #前言 先推荐下之前的SE ...

  4. android音频系统(4):AudioService之音量管理

    前言:AudioService这个系统服务包含或者使用了几乎所有与音频有关的内容,AudioService是音频系统在java层的大本营: android音频系统,分为两个部分:数据流和策略: 数据流 ...

  5. 音频输出设备是如何决定的

    1. 既然是分析音频输出设备,我们首先需要知道当前手机支持的音频输出设备有哪些 adb shell dumpsys media.audio_policy > /home/jon/audio_po ...

  6. Android Audio 音频路由

    一.在 AudioPolicyService 中,选择音频路由时会从当前音频流的类型获取音频的路由策略: /frameworks/av/services/audiopolicy/managerdefa ...

  7. Android 4.0.4-在build.prop中添加属性

    Android 4.0.4-在build.prop中添加属性 2013-10-07 16:40:56|  分类: 默认分类|举报|字号 订阅 1.在*.rc文件中用setprop添加,例如在源码and ...

  8. Android 9 按音量键音量调节流程

    参考:https://blog.csdn.net/kehyuanyu/article/details/49153223 https://blog.csdn.net/qq_34787560/articl ...

  9. 【送两本】计算机领域神书《深入理解计算机系统》

    作者:Randal E. Bryant,David R. O'Hallaron 来源:华章计算机(hzbook_jsj) 文末送两本<深入理解计算机系统>第三版,包邮. <深入理解计 ...

最新文章

  1. 小脑过度活跃,会引起整个大脑的问题
  2. python 浏览器自动化测试,python中使用chrome进行自动化测试,浏览器变量设置
  3. springboot 打卡功能_实战:如果让你用SpringBoot实现签到奖励的功能,你会怎么做?...
  4. 不再为DataGrid生成的表格的单无格中的内容过长、自动折行、表格撑开等问题而烦恼----一个很久以前的做品...
  5. node.js Stream Buffer FsPromise
  6. 程序员面试金典 - 面试题 04.05. 合法二叉搜索树(中序遍历)
  7. 在正式使用计算机账务系统的银行对账功能,用友ERP-U8管理系统认证考试理论题...
  8. 无法执行二进制文件: 可执行文件格式错误_VB中.frm .frx .vbp .vbw .scc文件都有什么作用,你知道么?...
  9. javascript中数组、冒泡排序、函数及函数实参形参、arguments伪数组、异步函数等介绍
  10. 安卓应用安全指南 5.3.2 将内部账户添加到账户管理器 规则书
  11. Python自动对Word文件中Python程序进行着色
  12. c#中hook的初次尝试
  13. 特征工程之自动特征生成(自动特征衍生)工具Featuretools介绍
  14. php mysql 查询数据库表结构_mysql查询数据库下的表结构?
  15. Auslogics Registry Cleaner v9.2.0.0 注册表清理优化工具
  16. MAVEN实战 整理 笔记
  17. 思科交换机配置试题_思科交换机配置命令大全 思科交换机配置手册
  18. Vue.js——前端模块化雏形和CommonJS——2020.12.9
  19. 基于随机效应贝叶斯神经网络(RE-BNN)的多区域出行模式选择分析
  20. 等离子显示器测试软件,等离子显示器驱动芯片内置ERC功能的测试方法

热门文章

  1. Winform应用程序实现通用遮罩层二
  2. [Java并发编程(二)] 线程池 FixedThreadPool、CachedThreadPool、ForkJoinPool?为后台任务选择合适的 Java executors...
  3. wince6.0 编译报错:error C2220: warning treated as error - no 'object' file generated的解决办法...
  4. 【每日进步】May 2012
  5. 使用CInternetSession和CHttpFile提取网页源码
  6. 中小企业 软交换机 呼叫中心 需要的请留言
  7. Linux下服务器模型 【转载】
  8. MySql数据库使用入门
  9. VC++开发一个简易图片浏览器 - 含目录浏览功能
  10. tomcat 内存配置学习总结