我想以编程方式开始通话,并在一段时间后将状态更改为保持。是否可以使用包
com.android.internal.telephony.ITelephony
?
我可以在
toggleHold
中看到类似ITelephony.aidl
的方法(检查此来源)。但我该如何使用这个呢?
我尝试添加 ITelephony.aidl 文件,例如
package com.android.internal.telephony;
interface ITelephony {
boolean endCall();
void answerRingingCall();
void silenceRinger();
void toggleHold();
}
我尝试访问
toggleHold
方法,如
ITelephony telephonyService = (ITelephony) method.invoke(telephonyManager);
telephonyService.toggleHold();
出现类似
的错误java.lang.NoSuchMethodError: com.android.internal.telephony.ITelephony.toggleHold
相反,我可以通过拨打
telephonyService.endCall();
来结束通话
io 如何实现将通话状态更改为保持?
注意:
我已经看到类似的问题,例如Android如何保持和取消保持活动电话但无法找到解决方案。
//无法holdCall.so,我将microhpne静音
public static void muteMicrophone(Context context) {
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setMicrophoneMute(true);
audioManager.setSpeakerphoneOn(true);
}