监听耳机事件

来源:互联网 发布:法国直邮购物网站 知乎 编辑:程序博客网 时间:2024/04/29 23:57

android监听耳机的事件监听广播Intent.ACTION_HEADSET_PLUG和AudioManager.ACTION_AUDIO_BECOMING_NOISY

Intent.ACTION_HEADSET_PLUG这个intent还带有其他的值来更加详细的描述这个事件

The intent will have the following extra values:

  • state - 0 for unplugged, 1 for plugged.
  • name - Headset type, human readable string
  • microphone - 1 if headset has a microphone, 0 otherwise

        String st = intent.getStringExtra("state"); 
       
String nm = intent.getStringExtra("name"); 
       
String mic = intent.getStringExtra("microphone"); 

 

但是据几个帖子说这个的反应没有AudioManager.ACTION_AUDIO_BECOMING_NOISY这个反应快,而且不同的机器上值有可能为null,所以在监听耳机的事件上尽量用后者了,官方描述如下:

Broadcast intent, a hint for applications that audio is about to become 'noisy' due to a change in audio outputs. For example, this intent may be sent when a wired headset is unplugged, or when an A2DP audio sink is disconnected, and the audio system is about to automatically switch audio route to the speaker. Applications that are controlling audio streams may consider pausing, reducing volume or some other action on receipt of this intent so as not to surprise the user with audio from the speaker.

 

 

 

http://stackoverflow.com/questions/2524923/issues-with-action-headset-plug-broadcast-in-android

http://stackoverflow.com/questions/4124368/action-headset-plug-broadcast-delay

原创粉丝点击