Проблема
Я работаю над приложением VoIP для Android.Я должен сигнализировать о входящем звонке в автомобильную навигационную систему, когда телефон подключен к ним через Bluetooth.
Что я делал до сих пор
Кроме большого количества поиска и чтения, а также пробной версиии ошибки это текущее состояние:
При поступлении входящего вызова (приложение получило ПРИГЛАШЕНИЕ SIP) происходит следующее:
- установить режим в AudioManager на RINGING:
audioManager.setMode(AudioManager.MODE_RINGING);
- запросить фокусировку звука:
audioManager.requestAudioFocus(this, AudioManager.STREAM_RING, AudioManager.AUDIOFOCUS_GAIN);
- включен и запущен BluetoothSco:
audioManager.setBluetoothScoOn(true);
audioManager.startBluetoothSco();
Что происходит
В автомобиле экран в режиме вызова отображается непосредственно вместо входящего вызова .Таким образом, пользователь может только положить трубку и не может ответить, поскольку кнопка ответа не отображается.
Я предполагаю, что неправильно сигнализирую о состоянии, даже если JavaDoc на AudioManager говорит, чтоРежим RINGING используется для оповещения о таких вещах.
Пожалуйста, дайте мне знать, если у вас есть идеи, как решить эту проблему.