我想要做到这一点,因此如果将耳机插入设备,则会发生某些事情,例如出现通知图标。(我已经完成了通知图标的工作)但我似乎无法找到实现它的方法。我想要这样的东西
if headphones_plugged_in {
do this
}
我在网上找到了这个
AudioManager.isWiredHeadsetOn()
我只是不知道我会如何使用它。我也已经在清单中添加了正确的权限!如果您可以指导我或将我链接到某些东西,那就太好了。谢谢你!
我想要做到这一点,因此如果将耳机插入设备,则会发生某些事情,例如出现通知图标。(我已经完成了通知图标的工作)但我似乎无法找到实现它的方法。我想要这样的东西
if headphones_plugged_in {
do this
}
我在网上找到了这个
AudioManager.isWiredHeadsetOn()
我只是不知道我会如何使用它。我也已经在清单中添加了正确的权限!如果您可以指导我或将我链接到某些东西,那就太好了。谢谢你!
在您的清单中添加一个<receiver>
监听广播。该文档显示了可用于确定耳机是否已插入 ( ) 等的附加信息。ACTION_HEADSET_PLUG
Intent
state
我认为您的问题可能有一些重复:
您想要的方法似乎已在 API 级别 14 中被弃用。文档说仅使用它来检查它是否连接了耳机。因此,出于您的目的,这将是合适的。但是,要检查是否正在播放音频,您可能需要不同的解决方案。
从您的评论来看,您似乎想知道如何实际使用它。该函数返回 true 或 false 以将其作为参数放入 if 语句中,您将被设置。
我会设置BroadcastReceiver
以获取android.intent.action.HEADSET_PLUG
意图http://developer.android.com/reference/android/content/Intent.html#ACTION_HEADSET_PLUG
我找到了解决方案。
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();
}
多谢你们!