我已经用我自己的 UI 实现了 IncallService 拨号器替换,并尝试添加基本的拨号器功能。除了设置扬声器外,它们中的大多数(静音、播放 DTMF、保持)都可以工作。我尝试了以下但收到错误“没有在通话中使用扬声器权限”。我正在检查 android 7 和 8 手机。
添加权限:“android.permission.MODIFY_AUDIO_SETTINGS”
val audioManager =
applicationContext.getSystemService(Context.AUDIO_SERVICE) as AudioManager
// get original mode
val originalMode = audioManager.mode
audioManager.mode = AudioManager.MODE_IN_CALL
// change mute
val state = !audioManager.isSpeakerphoneOn
// Loggable.log.debug(LOG_TAG, "Speaker state is " + state)
audioManager.isSpeakerphoneOn = state
// set mode back
audioManager.mode = originalMode