如何在Java中以编程方式禁用有线耳机

时间:2014-01-06 12:10:34

标签: android audio soundpool android-audiomanager

请在此处提及我的问题。这个问题是对此的延伸:

How to check and redirect audio between wired headset and speaker phone?

我能够通过包含权限来部分解决我的问题

  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

在我的Android Manifest中为同一段代码。现在,我可以启用和禁用手机扬声器,但我无法以编程方式关闭有线耳机连接,当有线耳机仍然物理连接到手机时。

有人可以帮我吗?我可以使用禁用启用有线耳机连接吗?

1 个答案:

答案 0 :(得分:0)

我在网上寻找解决方案,发现了一些问题

private class MusicIntentReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) {
            int state = intent.getIntExtra("state", -1);
            switch (state) {
                case 0:
                    audioManager.setSpeakerphoneOn(true);
                    break;
                case 1:
                    audioManager.setSpeakerphoneOn(false);
                    break;
                default:
                    audioManager.setSpeakerphoneOn(true);
            }
        }
    }
}

希望有帮助

如果您想访问该网站,这里是link