5

如果耳机当前插入,我有一个检测问题。我使用Intent.ACTION_HEADSET_PLUG并且效果很好。我启动了一项服务,并在 onCreate() 方法中通过 registerReceiver() 注册了我的接收器。大多数时候我会立即收到 ACTION_HEADSET_PLUG 广播,所以我知道耳机是否插入。

但有时(我不知道为什么)我在注册接收器后没有立即收到这个广播 - 所以我不知道耳机的当前状态。也许我可以假设在这种情况下它们没有连接 - 但我不确定它是否是 100% 真实的。所以我找到了AudioManager#isWiredHeadsetOn()方法,我还添加了所需的权限 MODIFY_AUDIO_SETTINGS。问题是它只能在耳机(耳机+麦克风)上正常工作,当只插入耳机时,它每次都会返回 false。请问,你知道如何解决这个问题吗?我正在为 android 2.1 开发。

4

0 回答 0