Итак, искусство регистрации широковещательного приемника для ACTION_HEADSET_PLUG и фактически processing the plug in/out events хорошо понято сейчас.Как получить ACTION_HEADSET_PLUG в OnCreate()
Но ... моему приложению необходимо знать в начале onCreate()
, подключена ли минигарнитура или нет (если это не так, она должна просто отображать диалог и выйти, поскольку это приложение только для гарнитуры, не используется с динамиком).
Тем не менее, везде, где я читал, регистрация приемника должна производиться либо в onStart(), либо onResume(), - что не дает возможности для onCreate()
использовать флаг, установленный приемником.
Любая идея, как обходить это?
Есть ли способ для опрос разъем для гарнитуры?
спасибо. Я читал о 'isWiredHeadsetOn()' s gotchas. Вот почему я играл с ACTION_HEADSET_PLUG. По какой-то причине я пропустил «isSpeakerphoneOn()» AudioManager и другие методы, которые вы упомянули, поэтому благодарим вас за это. На самом деле, для меня не имеет значения, подключена ли проводная гарнитура или подключена гарнитура Bluetooth. Пока звук не попадает в динамик, 'onCreate()' должен продолжаться. – WebViewer