1.耳机插入和拔出时会发出广播ACTION_HEADSET_PLUG

 private final BroadcastReceiver mReceiver = new BroadcastReceiver() {      @Override      public void onReceive(Context context, Intent intent) {          String action = intent.getAction();          if (action.equals(Intent.ACTION_HEADSET_PLUG)) {              if(intent.hasExtra("state")) {                  if(intent.getIntExtra("state", 0) == 0) {                      Toast.makeText(context, "headset not connected", Toast.LENGTH_LONG).show();                  } else if(intent.getIntExtra("state", 0) == 1) {                      Toast.makeText(context, "headset connected", Toast.LENGTH_LONG).show();                  }              }          }      }  }; 

0:无插入,1:耳机和话筒均插入,2:仅插入话筒

2.在目录下读取状态

 private static final String HEADSET_STATE_PATH = "/sys/class/switch/h2w/state";  nbsp;private boolean isHeadsetExists() {      char[] buffer = new char[1024];      int newState = 0;      try {          FileReader file = new FileReader(HEADSET_STATE_PATH);          int len = file.read(buffer, 0, 1024);          newState = Integer.valueOf((new String(buffer, 0, len)).trim());      }      catch (FileNotFoundException e) {          Log.e("FMTest", "This kernel does not have wired headset support");      }      catch (Exception e) {          Log.e("FMTest", "", e);      }      return newState != 0;  }

3.第二种比较麻烦,其实android提供一个接口

AudioManager localAudioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);                  boolean isHeadSetOn = localAudioManager.isWiredHeadsetOn();                if(!isHeadSetOn){                    Toast.makeText(context, "请插入话筒", Toast.LENGTH_LONG).show();                    return;                }

不要忘了加上权限

 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 

更多相关文章

  1. 【Android】通过耳机调起语音助手App配置
  2. 使用android MediaPlayer播放音频文件时,有时会出现prepareasync
  3. Android耳机声音自动调整
  4. Android 蓝牙耳机 语音输入与播放
  5. android强制横屏息屏后重新打开时会先显示竖屏
  6. android耳机状态的检测
  7. Android Layout的layout_height等属性为什么有时会不起作用?
  8. android switch模块 (耳机检测)
  9. Android 耳机插入过程分析

随机推荐

  1. Android(安卓)学习笔记 Contacts (二)Conta
  2. Android(安卓)webkit image的加载过程解
  3. Android支持java8的设置方法
  4. Android(安卓)NDK 是什么
  5. Android中AlertDialog用法实例分析
  6. Android(安卓)动画效果 --Animation 动画
  7. Android执行 shell command
  8. 升级 Android(安卓)Studio 3.2.1 后出现
  9. Android(安卓)调用系统相机 失败
  10. android]Android(安卓)线程优先级修改