只有免提模式,无法切换听筒:
vendor/mediatek/proprietary/packages/services/Telecomm/src/com/android/server/telecom/CallAudioRouteStateMachine.java
在构造方法中CallAudioRouteStateMachine
switch (earpieceControl) {
case EARPIECE_FORCE_DISABLED:
mDoesDeviceSupportEarpieceRoute= false;
break;
case EARPIECE_FORCE_ENABLED:
/*/tyd.yantao 20230105 onlyloudspeak
mDoesDeviceSupportEarpieceRoute= true;
//*/
mDoesDeviceSupportEarpieceRoute =false;
//*/
break;
default:
/*/tyd.yantao 20230105 onlyloudspeak
mDoesDeviceSupportEarpieceRoute= checkForEarpieceSupport();
//*/
mDoesDeviceSupportEarpieceRoute= false;
//*/
}
就不支持听筒!实际效果就是电话界面就点不了那个喇叭,无法切换成听筒
默认免提模式,可以切换听筒:
vendor/mediatek/proprietary/packages/services/ Telecomm/src/com/android/server/telecom/CallsManager.java
在publicvoid placeOutgoingCall(方法中
源码有
call.setStartWithSpeakerphoneOn(speakerphoneOn|| useSpeakerForVideoCall
||(useSpeakerWhenDocked && useSpeakerForDock) || useSpeakerForTablet);
把这句参数改为true就可以。注意这个方法是打出去的时候适用
接听情况下:
在这个voidprocessIncomingCallIntent(方法中
最好是在init之后加入那句话
就是在call.initAnalytics();之后加入
call.setStartWithSpeakerphoneOn(true);