如何正确将来电信号通知蓝牙?

时间:2018-09-06 06:17:21

标签: java android bluetooth pjsip

在我的Voip应用程序中,当然支持蓝牙耳机和汽车的蓝牙接口。 如何正确发信号通知打来的(voip)呼叫,以便在汽车显示屏上显示打入的电话号码?

该应用程序使用pjsip,一切正常,即使是通过蓝牙的音频。

当检测到来电时,将打开蓝牙连接,并且(可能是我的错误开始)打开音频流以播放铃声(此处将mode参数设置为MODE_RINGTONE情况)。

    public void startBluetoothAudio(int mode) {
    try {
        AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
        if (audioManager != null) {
            audioManager.setMode(AudioManager.MODE_NORMAL);

            if (isSystemBluetoothEnabled()) {
                appRedirected = true;
                audioManager.setBluetoothScoOn(true);
                audioManager.startBluetoothSco();
            }

            audioManager.setMode(mode);
        }
    } catch (Exception e) {
        Uclog.error("Exception caught starting bluetooth audio.", e);
        appRedirected = false;
    }
}

然后发生的是:

汽车立即将其显示为正在通话(时间在计时),并且没有“接受/拒绝”按钮出现。只有一个“挂断”按钮。 当我按hangup时,呼叫实际上是建立的。再次按hangup,可以正确终止通话。

我的错误一定是在来电信号中。如何告诉耳机呼叫正在响铃,以便耳机的媒体按钮正确反应?

非常清楚,我在这里错过了一些重要的事情,因为我目前不知道如何发送传入号码,以便将其显示在汽车的显示器上。

任何帮助都将不胜感激!

如果您需要查看更多内容或有其他问题,请问一下!

谢谢,格里斯

0 个答案:

没有答案