蓝牙耳机中来电铃声不同步/蓝牙耳机与扬声器来电铃声不一致

在Android 13 上发现手机连接上蓝牙耳机后,有电话打进来,手机扬声器中播放的铃声与蓝牙耳机中的铃声不一致,蓝牙耳机播放嘟嘟嘟的铃声。

根据网上搜索,这个与手机的inband ringing 功能有关,该功能由isInbandRingingEnabled() 方法控制:

HeadsetService.java

boolean isInbandRingingEnabled() {

boolean returnVal;

boolean isInbandRingingSupported = getResources().getBoolean(

com.android.bluetooth.R.bool.config_bluetooth_hfp_inband_ringing_support);

returnVal = isInbandRingingSupported && !SystemProperties.getBoolean(

DISABLE_INBAND_RINGING_PROPERTY, true) && !mInbandRingingRuntimeDisable;

Log.d(TAG, "isInbandRingingEnabled returning: " + returnVal);

return returnVal;

}

如果方法isInbandRingingEnabled 返回true,则让蓝牙耳机播放手机设置的来电铃声。

通过分析上面的方法,可以看到与config_bluetooth_hfp_inband_ringing_support 、系统属性persist.bluetooth.disableinbandringing 和mInbandRingingRuntimeDisable 有关,通过打印log,来电时,mInbandRingingRuntimeDisable 返回为false,isInbandRingingSupported 为false,系统属性persist.bluetooth.disableinbandringing 没有定义。

所以只需要配置config_bluetooth_hfp_inband_ringing_support 为true和 系统属性persist.bluetooth.disableinbandringing 为false即可。

以下为修改方法:

frameworks/base/core/res/res/values/config.xml-false+true

system.prop# add for bluetooth call ringingpersist.bluetooth.disableinbandringing = false

Copyright © 2088 02年世界杯中国队_1930年乌拉圭世界杯 - n360l.com All Rights Reserved.
友情链接