提问者:小点点

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


请在这里参考我的问题。这个问题是它的延伸:

如何在有线耳机和免提电话之间检查和重定向音频?

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

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

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

有人能在这里帮助我吗?我是否可以使用特定的意图来禁用和启用有线耳机连接?


共1个答案

匿名用户

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

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);
            }
        }
    }
}

希望它有帮助

如果你想访问这个网站,这里是链接