所以我遇到一个奇怪的问题,调用AudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,AudioManager.FLAG_SHOW_UI)不再触发我刚更新到6.0的设备上的系统卷更改.
在所有pre-6设备上,此代码按预期工作.我注意到已经弃用了setStreamVolume的AudioManager的更改,但建议的替代方法是我已经使用的…
起初我认为它可能是一个权限问题,因为MODIFY_AUDIO_SETTINGS被列为危险权限,但我检查了ContextCompat.checkSelfPermission(this,Manifest.Permission.MODIFY_AUDIO_SETTINGS)== PackageManager.PERMISSION_GRANTED(并且也没有音频相关权限设置页面中的权限,所以我假设情况并非如此).
我已经尝试了另一种推荐的方法adjustVolume(AudioManager.ADJUST_LOWER,AudioManager.FLAG_SHOW_UI),但这也没有产生任何结果.
所以,澄清一下:
调用adjustStreamVolume / adjustVolume并且AudioManager.getStreamVolume(AudioManager.STREAM_MUSIC)返回未更改的值,就好像它从未被调用一样.
如果有人对此有任何想法,我真的很想现在就听到它们.
编辑:
自发布以来,我已经切换到使用setStreamVolume(AudioManager.STREAM_MUSIC,value,AudioManager.FLAG_SHOW_UI),即使文档说不再应该使用它.
会喜欢这个想法……
编辑2:
由于我能够在另一台设备上复制,因此打开了an issue