因此,为ACTION_HEADSET_PLUG和实际processing the plug in/out events注册广播接收器的技术现在已经很好地解决了。
但是......我的应用程序需要尽早知道onCreate()
耳机是否已插入(如果不是,它应该只显示一个对话框并退出,因为这是一个仅适用于耳机的应用,不得与扬声器一起使用。)
然而,在我阅读的所有地方,注册接收器应该在onStart()或onResume()中完成 - 这使onCreate()
无法使用接收器设置的标志。< / p>
知道如何解决这个问题吗?
有没有办法民意调查耳机插孔?
答案 0 :(得分:1)
您可以使用AudioManager's isWiredHeadsetOn()确定是否已插入耳机,但请注意根据文档:
这不是音频播放实际通过有线耳机的有效指示,因为音频路由取决于其他条件。
您还需要查看isSpeakerphoneOn()
,isBluetoothA2dpOn()
和isBluetoothScoOn()
的值,以便更好地了解当前启用的内容。