versiones todas son referencia play oreo las instalación developer cuáles android android-5.0-lollipop android-audiomanager android-api-levels android-hardware

todas - ¿Cuál es la API de Android para obtener la lista de dispositivos de audio conectados?



api de referencia de instalación de play (1)

Parece que no existía tal API antes del nivel 23 de API, pero se podrían usar métodos booleanos para verificar, si algún dispositivo de audio estaba activado:

  • isWiredHeadsetOn() : agregado en el nivel 5 de API, obsoleto en el nivel 14 de API
  • isSpeakerphoneOn() : agregado en el nivel 1 de API
  • isBluetoothScoOn() : agregado en el nivel 1 de API
  • isBluetoothA2dpOn() : agregado en el nivel 3 de la API, obsoleto en el nivel 26 de la API

Si siempre obtienes falso al agregar el permiso MODIFY_AUDIO_SETTINGS a AndroidManifest.xml

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

Después de la verificación, puede activar o desactivar los dispositivos pasando los métodos true o false a:

  • setWiredHeadsetOn() : agregado en el nivel 5 de API, obsoleto en el nivel 5 de API
  • setSpeakerphoneOn() : agregado en el nivel 1 de API
  • setBluetoothScoOn() : agregado en el nivel 1 de API
  • setBluetoothA2dpOn() : agregado en el nivel 3 de la API, obsoleto en el nivel 5 de la API

Utilicé el siguiente código agregado para conectar los dispositivos de audio para dispositivos Android. Usé el método de api de AudioManager getDevices() y obtuve el resultado con dispositivos conectados como auriculares, altavoces, auriculares. Pero este método getDevices() está disponible desde el nivel 23 de Android Api (Marshmallow) solamente.

Pero mi aplicación debería soportar desde el nivel 21 de api (Lollipop). Por favor, ¿alguien puede hacerme saber la API alternativa para obtener el dispositivo de audio disponible para el dispositivo Android?

Código utilizado con api nivel 23.

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { AudioDeviceInfo[] adi = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS); }

Por favor, ayúdeme proporcionando una manera de conectar los dispositivos de audio para los dispositivos que ejecutan la versión del sistema operativo Android por debajo de Marshmallow (api nivel 23).