따라서 ACTION_HEADSET_PLUG 및 실제로 processing the plug in/out events에 대한 브로드 캐스트 리시버 등록 기술은 이미 잘 알고 있습니다.OnCreate()에서 ACTION_HEADSET_PLUG을 얻는 방법
그러나 ... 내 앱은 헤드셋이 연결되어 있는지 여부를 알기 위해 onCreate()
에서 일찍 알 필요가 있습니다 (그렇지 않은 경우 헤드셋 전용 앱이므로 대화 상자를 표시하고 종료해야합니다. 스피커와 함께 사용하지 마십시오).
그러나 어디에서나 내가 수신기를 등록하면 onStart() 또는 onResume() 중 하나를 수행해야합니다. 수신기에서 설정 한 플래그를 onCreate()
에 보낼 기회가 없습니다.
어떻게 해결할 수 있습니까?
헤드셋 잭을 폴링 할 방법이 있습니까?
감사합니다. 'isWiredHeadsetOn()'의 문제에 대해 읽었습니다. 그래서 ACTION_HEADSET_PLUG로 장난 꾸러기입니다. 어떤 이유인지 AudioManager의'isSpeakerphoneOn()'과 당신이 언급 한 다른 메소드들을 놓쳤다. 그래서 고맙다. 실제로 유선 헤드셋이 연결되어 있는지 또는 Bluetooth 헤드셋이 연결되어 있는지 여부는 중요하지 않습니다. 오디오가 스피커에 도달하지 않는 한, onCreate()가 진행되어야합니다. – WebViewer