通话保持且扬声器在主动通话期间未启用

问题描述 投票:0回答:1

我创建了一个默认的拨号器应用程序。现在我想通过java程序添加呼叫保持和取消保持以及扬声器开/关。请帮我获取最新代码。

callInProgress.class

public static Button loudSpk, hold;
public static Boolean isSpkOn;

loudSpk.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (isSpkOn) {
                    CallManager.speakerCall(false);
                    Toast.makeText(CallActivity.this, "SPK ON", Toast.LENGTH_SHORT).show();
                    isSpkOn = false;
                }
                else{
                    CallManager.speakerCall(true);
                    Toast.makeText(CallActivity.this, "SPK OFF", Toast.LENGTH_SHORT).show();
                    isSpkOn = true;
                }
            }
        });

CallManager.Java

public static InCallService inCallService;

public static void speakerCall(boolean isSpeakerOn) {

        if (isSpeakerOn){
            inCallService.setAudioRoute(CallAudioState.ROUTE_SPEAKER);
            Toast.makeText(inCallService, "Speaker on", Toast.LENGTH_SHORT).show();
        }
        else {
            inCallService.setAudioRoute(CallAudioState.ROUTE_EARPIECE);
            Toast.makeText(inCallService, "Speaker off", Toast.LENGTH_SHORT).show();
        }
    }

当我们在通话过程中点击/单击扬声器按钮时,通话控制会自动从 myCustomDialerApp 切换到 systemDialer 应用程序。

android call telephony android-audiomanager incallservice
1个回答
0
投票

我已经解决了呼叫保持和呼叫取消保持的问题,现在工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.