在android检测耳机的状态,比如耳机的插入或拔出等是比较容易的。主要是对系统广播的接收和处理。

工作原理:

android系统在耳机插入和拔出的时候都会发送广播,所以我们要想检测耳机的状态只需要注册响应的BroadCastReceiver,对状态进行响应的判断就可以了。我们这里采用了在代码中动态注册的方式。

广播接收器类的代码:

ublic class HeadsetDetectReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

if(intent.hasExtra("state")) {

if(intent.getIntExtra("state", 0)==0) {

Toast.makeText(context, "没有插入耳机", Toast.LENGTH_SHORT).show();

}

else if(intent.getIntExtra("state", 0)==1) {

Toast.makeText(context, "耳机已插入", Toast.LENGTH_SHORT).show();

}

}

}

}

程序Activity的代码:

/*

* 耳机状态检测

*

* 工作原理

* android系统在耳机插入和拔出的时候都会发送广播,所以我们要想检测耳机的状态只需要

* 注册响应的BroadCastReceiver,然后用IntentFilter对系统广播进行过滤,然后调用

* 广播接收器对符合过滤要求的Action,Data和Category进行处理。

*/

public class HeadsetDetectActivity extends Activity {

private HeadsetDetectReceiver mHeadsetDetectReceiver;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_headset_detect);

/*

* 实例化广播接收器对象

*/

mHeadsetDetectReceiver = new HeadsetDetectReceiver();

/*

* 实例化IntentFilter对象

*/

IntentFilter intentFilter = new IntentFilter();

/*

* 添加需要检查的Action

*/

intentFilter.addAction("android.intent.action.HEADSET_PLUG");

/*

* 注册广播接收器

*/

registerReceiver(mHeadsetDetectReceiver, intentFilter);

}

/*注销监听该广播

*

*/

@Override

protected void onDestroy() {

// TODO Auto-generated method stub

unregisterReceiver(mHeadsetDetectReceiver);

super.onDestroy();

}

}

android开机耳机检测,android耳机状态的检测相关推荐

  1. Android开机各个阶段(Android R)

    Android开机各个阶段(Android R) 目录 开机各个阶段描述 boot_progress_start boot_progress_preload_start boot_progress_p ...

  2. android开机自动启动app,Android实现开机自动启动Service或app的方法

    本文实例讲述了Android实现开机自动启动Service或app的方法.分享给大家供大家参考,具体如下: 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context cont ...

  3. android开机图片格式,Android平台启动图使用.9.png图片

    概述 目前HBuilder|HBuilderX中仅定义几种标准分辨率的启动图配置,而实际上存在很多不同分辨率的手机,导致启动图会进行拉伸或压缩引起变形,Android平台为了解决此问题就出现了可以适配 ...

  4. Android开机时间统计,android 开机时间检测

    基于SPRD平台,根据关键字检查开机耗时 #coding=utf-8 __author__="ao.deng" import ctypes, sys,os import re ST ...

  5. android开机优化服务,Android开机速度优化简单回顾

    Android的开机速度,基本上没人说快的,通常移植完系统后,马上要看的事情就是优化开机时间,以下是简单回忆以下以前做优化的那些事. 开机时间都花在哪? 优化开机时间,通常做的首先是那有有没有BUG, ...

  6. android开机动画修改,Android系统 开机动画修改 + 自动替换脚本

    1.准备 多帧图片PNG-24格式 adb 环境 2.bootanimation 开机包制作 1 在 Widows 环境中建立文件夹:bootanimation 2 在bootanimation文件夹 ...

  7. android开机音乐相关,Android 5.0 以上开机音乐实现

    在Android 4.4上开机音乐,要实现开机音乐.通过在BootAnimation 中加入以下代码便可 1 2 3 4 5 6 7 8 9 10 11void BootAnimation::play ...

  8. android 开机动画尺寸,Android开机Logo动画制作

    开机Logo制作 1.准备Logo图片 准备一张符合尺寸要求(例如:1280x720)的图片,最好是png或jgp. 2.用Hitool工具制作镜像文件 海思芯片使用的是Hitool工具,打开Hito ...

  9. android开机广播时序,Android开机日志解读

    干过优化开机时间这个苦逼活的同学都知道开机日志,动则上万行日志不足为奇.特别对于第一次看开机日志的同学来说,简直就是一本天书.根本找不到重点.这篇文章就聊聊开机日志这本天书的章节要领,以及分析的工具b ...

  10. android 开机动画实现,Android App启动画面实现

    app打开时都会有个启动画面(一幅图.一个提示之类的),画面停留2-3秒,然后结束掉自己,启动要呈现的第一个activity. Handler的postDelayed方法就很适合实现这个功能.它相当于 ...

最新文章

  1. 算法笔记_157:算法提高 c++_ch02_01(Java)
  2. sersync+rsync数据同步
  3. jenkins job构建后汇总结果到同一个文本文档中去
  4. Spring@Configuration、@Bean、@Import 、@ImportResource、@DependsOn 说明
  5. mac linux工具下载,xshell mac版
  6. 关于框架的胡言乱语(上)
  7. Python自动化测试框架有哪些?
  8. Git 从了解到放弃
  9. 窗口最小化消息的解决之道
  10. 为什么代码正确却没有爬虫的信息_一位一年多工作经验的程序员问我,为什么545行代码没有执行到?...
  11. (05)FPGA入门条件
  12. 深信服scsa知识点一
  13. 前同事通过接私活年入60W,他常用19个私活平台汇总!
  14. 【前端进阶】-TypeScript类型声明文件详解及使用说明
  15. 中国一共有多少个神仙?
  16. Lotka–Volterra equation Competitive Lotka–Volterra equations
  17. linux系统u盘安装教程图解教程,使用U盘安装Ubuntu的详细图文教程
  18. 最新WIFI分销大师小程序源码+带后端/亲测可用
  19. 计算机网络第三章数据链路层习题答案
  20. matlab中转置运算符,MATLAB 软件中,运算符 / 表示()运算。A. 乘法B. 除法C. 乘方D. 矩阵转置...

热门文章

  1. 捷豹改激光大灯 捷豹XF氙气灯升级LED灯作业
  2. 研究生期间项目及实验室管理总结
  3. vue自定义组件的几种方式
  4. 量化交易神器tushare
  5. ios计算机隐藏功能,就是这么简单 iOS十大隐藏功能汇总
  6. redis使用scan模糊匹配key
  7. EasyCode插件(自动生成代码神器)
  8. 票据交易平台为何需要央行特急发文
  9. python天气爬虫程序_python爬虫源码(爬天气及词典)
  10. 十六进制字符串转换为十进制