Quindi sto riscontrando uno strano problema in cui la chiamata a AudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI)
non attiva più una modifica del volume di sistema sul dispositivo che ho appena aggiornato a 6.0.AudioManager.adjustStreamVolume non funziona più su dispositivi 6+
Su tutti i dispositivi pre-6 questo codice funziona come previsto. Ho notato le modifiche ad AudioManager in cui setStreamVolume è stato deprecato, ma l'alternativa suggerita è quella che stavo già usando ...
All'inizio credevo che potesse essere un problema di autorizzazione dato che MODIFY_AUDIO_SETTINGS
è elencato come un permesso pericoloso, ma Ho controllato e ContextCompat.checkSelfPermission(this, Manifest.Permission.MODIFY_AUDIO_SETTINGS) == PackageManager.PERMISSION_GRANTED
(e non ci sono anche autorizzazioni relative all'audio nella pagina Impostazioni autorizzazione, quindi presumo che non sia così).
Ho provato l'altro metodo consigliato, adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI)
, ma anche questo non ha prodotto risultati.
Quindi, per chiarire:
Nulla si verifica visivamente al momento della chiamata adjustStreamVolume/adjustVolume e AudioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
restituisce il valore inalterato come se fosse mai chiamato.
Se qualcuno ha qualche idea su questo, mi piacerebbe davvero ascoltarli proprio adesso.
Edit:
Da questo distacco, ho passato a utilizzare setStreamVolume(AudioManager.STREAM_MUSIC, value, AudioManager.FLAG_SHOW_UI)
che funziona, anche se la documentazione dire che non dovrebbe più.
Piacerebbe alcune riflessioni su questo ...
Edit 2:
Aperto an issue da quando sono stato in grado di replicare su un altro dispositivo
nella documentazione circa [AudioManager. setStreamVolume] (https://developer.android.com/reference/android/media/AudioManager.html#setStreamVolume%28int,%20int,%20int%29) non ha nulla a che fare. Esiste solo un commento sulla modalità Non disturbare. Non ho idea del perché 'adjustStreamVolume' non funzioni. – Desirius
Grazie per essere tornato da me. Mi riferisco alla nota nelle 6,0 modifiche: https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-audiomanager-Changes – Guardanis