本文将带你了解Android应用开发[RK3288][Android6.0] 耳机插拔处理两种方式,希望本文对大家学Android有所帮助。

[RK3288][Android6.0]   耳机插拔处理两种方式。

Platform: Rockchip

OS:   Android 6.0

Kernel: 3.10.92

系统对耳机插拔处理的方式有两种,一种是UEvent直接上报,另一种是通过Input模块来处理。

对应配置

frameworks\base\core\res\res\values\Config.xml

false

注释说明得很清楚了,true表示使用input模块处理,false表示使用uevent框架。

实现:

WiredAccessoryManager.java

读取:

mUseDevInputEventForAudioJack   =

context.getResources().getBoolean(R.bool.config_useDevInputEventForAudioJack);

判断:

private void   onSystemReady()   {

if (mUseDevInputEventForAudioJack)   {

int switchValues = 0;

if (mInputManager.getSwitchState(-1, InputDevice.SOURCE_ANY, SW_HEADPHONE_INSERT) ==   1) {

switchValues |= SW_HEADPHONE_INSERT_BIT;

}

if (mInputManager.getSwitchState(-1, InputDevice.SOURCE_ANY, SW_MICROPHONE_INSERT) ==   1) {

switchValues |=   SW_MICROPHONE_INSERT_BIT;

}

if (mInputManager.getSwitchState(-1, InputDevice.SOURCE_ANY, SW_LINEOUT_INSERT) ==   1) {

switchValues |=   SW_LINEOUT_INSERT_BIT;

}

notifyWiredAccessoryChanged(0, switchValues,

SW_HEADPHONE_INSERT_BIT |   SW_MICROPHONE_INSERT_BIT |   SW_LINEOUT_INSERT_BIT);

}

}

private   List   makeObservedUEventList() {

// Monitor   h2w

if (!mUseDevInputEventForAudioJack)   {

uei = new UEventInfo(NAME_H2W, BIT_HEADSET, BIT_HEADSET_NO_MIC,   BIT_LINEOUT);

if (uei.checkSwitchExists()) {

retVal.add(uei);

} else {

Slog.w(TAG, "This kernel does not have wired   headset support");

}

}

}

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

linux耳机插拔检测,Android应用开发之耳机插拔处理两种方式相关推荐

  1. Android中实现SQLite数据库CRUD操作的两种方式

    Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度.占用资源少的特点.通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用.SQ ...

  2. android布局密码,Android中EditText显示明文与密码的两种方式

    效果图如下所述: 布局 xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="h ...

  3. Android中界面实现全屏显示的两种方式

    在开发android的应用当中,我们会遇到将一些界面设置为全屏显示的格式,有两种实现的方法.其一是在Java代码中实现,其二是在配置文件中实现. 1. 在Java代码中设置 super.onCreat ...

  4. Android之从网络上获取图片的两种方式讲解:thread+handle和AsyncTask方式

    从网络上获取图片是一个比较耗时的操作,放在主线程会导致阻塞主线程,响应超时,所以我们不能把它放在主线程里操作,必须放在一个子线程里,我打算采用两种方式去实现.1.采用thread去获取图片,获取到后通 ...

  5. android recocery模式,小米进入Recovery模式的两种方式

    刷机分为卡刷和线刷,卡刷的话必须得进入recovery模式,其中需要运用到某些按键的组合,刷机帮小编特意整理了小米进入recovery模式的方法,各位可以参考下: 小米如何进入Recovery的两种方 ...

  6. UG\NX二次开发 获取装配根节点的两种方式

    文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 获取装配的根节点 效果:     使用UF_ASSEM_ask_root_part_ ...

  7. Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比

    Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比 标签: AndroidAsyncTaskThreadPool异步加载view 2 ...

  8. android获取ip方法,Android开发准确获取手机IP地址的两种方式

    最近看了好多网上获取IP地址的例子,发现好多都不完全准确,这里我写一下获取ip地址的两种方式. 比如微信支付,后台在做接口的时候,要求App端传入IP地址,我们需要判断是网络环境,WI-FI还是3G, ...

  9. android不调用系统发送短信,android之两种方式调用短信发送接口

    释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...

最新文章

  1. 「LibreOJ β Round #2」计算几何瞎暴力
  2. C语言:指针的几种形式
  3. html加载less,javascript – 动态加载less.js规则
  4. Go三种方式创建赋值map
  5. 65.4. Other GUI - phpOraAdmin
  6. MySQL死锁如何处理
  7. 吴恩达神经网络和深度学习-学习笔记-39-计算机视觉现状
  8. 掌门教育微服务体系 Solar
  9. JSP开发工具安装教程
  10. 社会工程学之黑客七宗罪——贪婪(死亡之PING)
  11. 观察:家乡的、身边的真实互联网
  12. 贝叶斯分析思路 通俗讲法
  13. android uri parcel,Android Intent 使用 Parcel 反序列化出错.
  14. 世界地图各大洲鼠标移入切换显示
  15. selenium使用代理IP
  16. oracle分组查询取第一条数据,160804、oracle查询:取出每组中的第一条记录
  17. WIN10 装VMvare+Mac OS X
  18. 数据结构与算法之美笔记——基础篇(中):树,二叉树,二叉查找树,平衡二叉查找树,红黑树,递归树,堆
  19. sentence Bert解读及代码示例
  20. 光伏“大数据”:如何解决数据不对称问题?

热门文章

  1. Leetcode--5. 最长回文子串(java)
  2. Leetcode--113. 路径总和Ⅱ
  3. Ajax:异步js和xml
  4. 云服务器主机性能测试,云服务器主机性能测试
  5. MVC里面写html获取不到input,asp.net-mvc – ASP.Net [HiddenInput]数据属性在Razor中用Html.EditorForModel渲染时不起作用?...
  6. c语言vbs,我的vbs整人程序
  7. OpenCV中文路径问题、matplotlib可视化中文乱码问题的解决办法
  8. 如何阅读一本书~阅读的层次
  9. Change Unidirectional Association to Bidirectional(将单向关联改为双向关联)
  10. 特殊构造(非捕获总结)