如何在OnCreate()中获取ACTION_HEADSET_PLUG

时间:2017-01-31 20:07:29

标签: android broadcastreceiver headset

因此,为ACTION_HEADSET_PLUG和实际processing the plug in/out events注册广播接收器的技术现在已经很好地解决了。

但是......我的应用程序需要尽早知道onCreate()耳机是否已插入(如果不是,它应该只显示一个对话框并退出,因为这是一个仅适用于耳机的应用,不得与扬声器一起使用。)

然而,在我阅读的所有地方,注册接收器应该在onStart()onResume()中完成 - 这使onCreate()无法使用接收器设置的标志。< / p>

知道如何解决这个问题吗?

有没有办法民意调查耳机插孔?

1 个答案:

答案 0 :(得分:1)

您可以使用AudioManager's isWiredHeadsetOn()确定是否已插入耳机,但请注意根据文档:

  

这不是音频播放实际通过有线耳机的有效指示,因为音频路由取决于其他条件。

您还需要查看isSpeakerphoneOn()isBluetoothA2dpOn()isBluetoothScoOn()的值,以便更好地了解当前启用的内容。