#java #android #kotlin
#java #Android #kotlin
Вопрос:
Я знаю, что это большой риск, но вот так. Мой телефон получил повреждение от воды в порту наушников, поэтому в настоящее время он всегда думает, что подключены несуществующие наушники. Это позволяет мне вести разговоры только через динамик, потому что в противном случае он пытается записать звук с несуществующего микрофона.
Я увидел, что здесь есть действие под названием ACTION_HEADSET_PLUG. Есть ли способ транслировать это действие по всей системе, чтобы «обмануть» Android, заставив его думать, что ничего не подключено, или это то, на что у кого-то просто нет разрешения?
Что-то похожее на это:
Intent().also { intent ->
intent.setAction("android.intent.action.HEADSET_PLUG")
intent.putExtra("state", 0)
sendBroadcast(intent)
}
Комментарии:
1. любопытный случай…
Ответ №1:
Попробуйте это:
AudioManager audioManager = AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.isWiredHeadsetOn();
Необходимо добавить разрешение
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Комментарии:
1. К сожалению, isWiredHeadsetOn() — это средство получения, которое фактически ничего не изменяет, как и метод setWiredHeadsetOn()