AudioManager.MODE_IN_COMMUNICATION can't be reset? - DanielWorld/SoftwareTech GitHub Wiki

android.permission.MODIFY_AUDIO_SETTINGS κΆŒν•œμ΄ μžˆλŠ” App A 와 App B κ°€ μžˆμ„ λ•Œ,
App B application μ—μ„œ android audioManager.setMode(MODE_IN_COMMUNICATION) 으둜 μ„€μ • ν–ˆμ„ 경우
App A application μ—μ„œ android audioManager.setMode(MODE_NORMAL) 둜 섀정해도 적용이 λ˜μ§€ μ•ŠλŠ” 상황.

즉 voip μ•±μ—μ„œ MODE_IN_COMMUNCATION 을 μ„€μ •ν–ˆλ‹€λ©΄, voIP μ•±μ—μ„œ MODE_NORMAL 둜 λ³€κ²½ν•˜κΈ° μ „κΉŒμ§€λŠ” λ‹€λ₯Έ application μ—μ„œ setMode 변경이 μ•ˆλ¨.
(OS 6.0.3) 뿐 μ•„λ‹ˆλΌ , Lenova (OS 8.0.0) λ“± 6.0 이상 Android OS κΈ°κΈ°μ—μ„œλ„ λ™μΌν•˜κ²Œ ν…ŒμŠ€νŠΈλ₯Ό 함.

확인결과

MODE_IN_COMMUNICATION, MODE_RINGTONE κ΄€λ ¨ν•΄μ„œ μ•ˆλ“œλ‘œμ΄λ“œ κΈ°λ³Έ ꡬ쑰가 mode set을 μ‹€ν–‰ν•œ applicationμ—μ„œ ν•΄μ œν• μˆ˜ μžˆλŠ” ꡬ쑰.

κ΄€λ ¨ Android Framework source : https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/audio/AudioService.java

setModeInt() 체크