Могу ли я сообщить системе Android, что в данный момент нет подключенных наушников? - PullRequest
5 голосов
/ 08 апреля 2019

Я знаю, что это большой длинный выстрел, но здесь идет.Мой телефон получил повреждение водой в порту наушников, поэтому в настоящее время он всегда думает, что к нему подключены несуществующие наушники. Это позволяет мне вести разговоры только через динамик, потому что в противном случае он пытается записать звук с несуществующего микрофона.

Я видел, что здесь есть действие ACTION_HEADSET_PLUG .Есть ли способ транслировать это действие в масштабе всей системы, чтобы «обмануть» андроида, заставляя его думать, что ничего не подключено, или это то, на что у человека просто нет разрешения?

Что-то похожее на это:

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

1 Ответ

0 голосов
/ 08 апреля 2019

Попробуйте это:

AudioManager audioManager = AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.isWiredHeadsetOn();

Необходимо добавить разрешение

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...