Я пытаюсь создать приложение для телефона Android с таргетингом на API 26 и мне нужно показывать сообщения голосовой почты в виде разговора.У меня проблемы с получением файла голосовой почты с помощью VisualVoicemailService.У меня есть класс, который расширяет VisualVoicemailService и регистрирует его в манифесте.Я также установил параметр фильтра sms, чтобы получать смс-сообщения Verizon VVM.
telephonyManager.setVisualVoicemailSmsFilterSettings(VisualVoicemailSmsFilterSettings.Builder().setClientPrefix("//VZWVVM").build())
Метод обратного вызова VisualVoicemailService.onSmsReceived (задача VisualVoicemailTask, sms VisualVoicemailSms) вызывается, когда я покидаю голосовую почту, и я получаю VisualVoicemailTask и VisualVoicemailSms, но я застрял в этой точке.Я в растерянности относительно того, как получить реальный звуковой файл голосовой почты.Посмотрев на приложение AOSP Dialer от Google, я должен подключиться к серверу IMAP (предположительно серверу VVM IMAP от Verizon), используя некоторую конфигурацию из CarrierConfigManager, аутентифицировать мой клиент и получить оттуда аудиофайл голосовой почты.Я попытался получить конфигурацию носителя, но следующие пары ключ / значение были нулевыми или пустыми:
- KEY_VVM_DESTINATION_NUMBER_STRING
- KEY_VVM_PORT_NUMBER_INT
- KEY_VVM_TY_ST_RING_RING_RI_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_RING_TARING
- KEY_VVM_PREFETCH_BOOLEAN
- KEY_VVM_CELLULAR_DATA_REQUIRED_BOOLEAN
Нужно ли иметь права оператора для правильной настройки этой конфигурации?Я заметил, что флаг hasCarrierPrivileges имеет значение false.Я обеспечен хотя (isProvisioned является "1").
Ниже приведены некоторые выходные данные отладки:
- isProvisioned: 1
- phoneAccountHandles: 1
- phoneAccountHandle: ComponentInfo {com.android.phone/com.android.services.telephony.TelephonyConnectionService}, [****], UserHandle {0}
- hasCarrierPrivileges: false
- vvm_port_number_int: null
- vvm_destination_number_string:
- vvm_type_string:
- carrier_vvm_package_name_string:
- vvm_prefetch_bool: null
- vvm_cellular_data_required_bool: null
с предоставленной здесь документацией: 1045 * *1045*https://source.android.com/devices/tech/config/voicemail#implementation
, а также источник Dialer от Google.
Мне еще предстоит выяснить, как получить аудио голосовой почты.Любые советы, хитрости, критика и помощь на этом этапе будут оценены.
Спасибо!