我可以告诉android系统当前没有插入耳机吗?

Ale*_*sso 5 java android kotlin

我知道这是一个很大的挑战,但是可以解决。我的手机的耳机端口受到水的损坏,因此,目前它始终认为已插入不存在的耳机。这使其只能在扬声器上进行通话,因为否则它将尝试从不存在的麦克风录制音频。

我看到有一个名为ACTION_HEADSET_PLUG的行动在这里。有没有一种方法可以在整个系统范围内广播该动作,以“诱骗”机器人以为没有插入任何东西,或者这根本就是未经许可的事情?

类似于以下内容:

Intent().also { intent ->
            intent.setAction("android.intent.action.HEADSET_PLUG")
            intent.putExtra("state", 0)
            sendBroadcast(intent)
        }
Run Code Online (Sandbox Code Playgroud)

Mur*_*amS 0

尝试这个:

AudioManager audioManager = AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.isWiredHeadsetOn();
Run Code Online (Sandbox Code Playgroud)

需要添加权限

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Run Code Online (Sandbox Code Playgroud)