如果检测到耳机已插入,请执行操作

时间:2013-10-12 19:59:27

标签: android audio if-statement headset

我想要这样做,如果耳机插入设备,会出现诸如通知图标之类的事情。 (我已经完成了通知图标)但我似乎无法找到实现它的方法。我想要这样的东西

if headphones_plugged_in {
do this 
}

我在网上找到了这个

AudioManager.isWiredHeadsetOn()

我只是不知道如何使用它。我已经在清单中添加了正确的权限!如果你可以引导我或链接我的东西,那将是伟大的。谢谢!

4 个答案:

答案 0 :(得分:1)

我认为你的问题可能有些重复:

  1. Check whether headphones are plugged in
  2. Android: Checking if headphones are plugged in
  3. 您希望的方法似乎已在API级别14中弃用。 documentation表示仅使用 来检查是否连接了耳机。所以为了你的目的,这将适合。但是,要检查是否正在播放音频,您可能需要一个不同的解决方案。

    从您的评论中,您似乎想知道如何实际使用它。该函数返回true或false以将其作为参数放入if语句中,并且您将被设置。

答案 1 :(得分:1)

在清单中添加<receiver>,以侦听the ACTION_HEADSET_PLUG broadcast。 该文档显示Intent个附加内容,您可以使用它们来确定是否插入了耳机(state)等。

答案 2 :(得分:0)

我会设置BroadcastReceiver以获得android.intent.action.HEADSET_PLUG意图http://developer.android.com/reference/android/content/Intent.html#ACTION_HEADSET_PLUG

答案 3 :(得分:0)

我找到了解决方案。

AudioManager audio=(AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
        if(audio.isWiredHeadsetOn()){
             Toast.makeText(this,"Headset is Connected",Toast.LENGTH_SHORT).show();
        }else{
             Toast.makeText(this,"Headset is Not Connected",Toast.LENGTH_SHORT).show();
        }

谢谢你们!