0

我想要做到这一点,因此如果将耳机插入设备,则会发生某些事情,例如出现通知图标。(我已经完成了通知图标的工作)但我似乎无法找到实现它的方法。我想要这样的东西

if headphones_plugged_in {
do this 
}

我在网上找到了这个

AudioManager.isWiredHeadsetOn()

我只是不知道我会如何使用它。我也已经在清单中添加了正确的权限!如果您可以指导我或将我链接到某些东西,那就太好了。谢谢你!

4

4 回答 4

1

在您的清单中添加一个<receiver>监听广播。该文档显示了可用于确定耳机是否已插入 ( ) 等的附加信息。ACTION_HEADSET_PLUGIntentstate

于 2013-10-12T20:09:43.157 回答
1

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

  1. 检查耳机是否插入
  2. Android:检查耳机是否已插入

您想要的方法似乎已在 API 级别 14 中被弃用。文档使用它来检查它是否连接了耳机。因此,出于您的目的,这将是合适的。但是,要检查是否正在播放音频,您可能需要不同的解决方案。

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

于 2013-10-12T20:09:19.107 回答
0

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

于 2013-10-12T20:10:17.763 回答
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();
        }

多谢你们!

于 2013-10-12T20:15:05.140 回答