CallDirectory - Как получить динамический текст метки для номера телефона - PullRequest
0 голосов
/ 12 июня 2018

У меня есть нижеуказанное требование, и мне нужны ваши ценные предложения и решения.

Требование:

Всякий раз, когда мне звонят с одного конкретного номера, мне нужно сделать вызов API и получитьнекоторая информация и необходимо отобразить ее вместе с идентификатором вызывающего абонента в виде текста метки.

Просьба предложить выполнить требование, если да, пожалуйста, сообщите мне решение.

Я выполняю следующие шаги:

  1. Создал CallDirectoryExtension и добавил конкретный номер с некоторой меткой.
  2. Включил идентификацию вызова и блокировку
  3. Всякий раз, когда я звоню [Имя приложения] Called ID: Вместо метки отображается [Метка].
  4. Для идентификации входящего вызова я использую CXCallObserver и общедоступную функцию callObserver (_ callObserver: CXCallObserver, callChanged call: CXCall).
  5. Вызовтребуемый API и сохранение данных в Userdefaults в группе приложений.
  6. Вызов CXCallDirectoryManager.sharedInstance .reloadРасширение (withIdentifier: "com.example.Sample.SampleDirectory") для повторного выполнения переопределения метода CXCallDirectoryProvider с функцией func beginRequest (с context: CXCallDirectoryExtensionContext) context.addIdentificationEntry (withNextSequentialPhoneNumber: phoneNumber, получен, изменен, получая метку с полученной меткой, получая измененную метку с меткой:)он из группы приложений использует значения по умолчанию.
  7. Но на экране вызывающего абонента метка не обновляется.

Пожалуйста, подскажите, как я могу изменить метку (вызов API и получение некоторых деталей)., что я устанавливаю как обновленную метку), когда есть входящий вызов.

1 Ответ

0 голосов
/ 10 января 2019

То, что вы запрашиваете, не поддерживается расширением CallDirectory.Напротив, все телефонные номера, которые вы хотите идентифицировать / заблокировать , должны быть предоставлены заранее , чтобы их можно было сопоставить и идентифицировать в ОС.

Это означает, что когда телефон звонит, если номерне совпадает с контактами пользователя, тогда ОС запрашивает расширение CallDirectory.Если телефон уже добавлен , то он совпадает.

Из того, что я понимаю по вашей имплементации, вы получите обновленную метку, но для последующих входящих вызовов (возможно), но определенно неттекущий.

...