Приложение WhoCalls перестает определять номера на смартфонах Huawei после обновления EMUI или HarmonyOS из-за агрессивного управления питанием фоновыми процессами. Система по умолчанию блокирует автозапуск сервисов идентификации, сбрасывает разрешение «Над другими приложениями» и останавливает работу уведомлений о входящих вызовах. Пользователь видит только неизвестный номер вместо имени организации или спам-метки.

Проблема усугубляется на устройствах без сервисов Google (GMS), где WhoCalls зависит исключительно от экосистемы HMS Core и собственных пуш-каналов Huawei. Если фоновая активность ограничена, идентификатор не успевает загрузить базу данных до момента разговора. Ниже приведены пошаговые методы восстановления полноценной работы сервиса на любой прошивке.

Основные причины сбоя идентификатора вызовов

На смартфонах Huawei и Honor сбой WhoCalls чаще всего вызван комбинацией системных ограничений. Понимание источника проблемы ускоряет ремонт в разы, исключая бесполезные переустановки.

  • 🔋 Режим экономии энергии убивает процесс идентификации за 10–15 секунд до звонка.
  • 🚫 Отключен автозапуск в настройках батареи — сервис не стартует после перезагрузки.
  • 🪟 Отозвано разрешение «Над другими приложениями» — окно с именем вызывающего не отображается.
  • 📶 Устаревший HMS Core — пуш-каналы не доставляют данные о номере вовремя.
  • 🧹 Автоочистка кэша системным оптимизатором удаляет локальную базу номеров.

На прошивках HarmonyOS 4.0 и новее добавлен механизм «Умная защита», который может ошибочно классифицировать WhoCalls как подозрительную активность и блокировать сетевые запросы приложения. Это проявляется в виде ошибки «Нет соединения» внутри приложения при наличии интернета.

Настройка энергопотребления и автозапуска

Это критичный раздел: без разрешения на фоновую работу никакие остальные настройки не помогут. Перейдите в Настройки → Батарея → Запуск приложений, найдите WhoCalls и отключите переключатель «Управлять автоматически». В открывшемся меню активируйте все три пункта: «Автозапуск», «Вторичный запуск», «Запуск в фоне».

Дополнительно зайдите в Настройки → Приложения → WhoCalls → Батарея и выберите «Неограниченно». На некоторых моделях (серии P, Mate, Nova) существует пункт «Защищенные приложения» в меню батареи — добавьте туда идентификатор, чтобы система не выгружала его из ОЗУ при нехватке памяти.

☑️ Чек-лист настройки питания для WhoCalls

Выполнено: 0 / 5
⚠️ Внимание: После обновления системы EMUI/HarmonyOS настройки автозапуска часто сбрасываются на значения по умолчанию. Проверяйте этот раздел после каждой системной ОТА-обновления.

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

Разрешение «Над другими приложениями» и уведомления

Идентификатор номера работает через системное окно типа TYPE_APPLICATION_OVERLAY. Без явного согласия пользователя Android (а значит и EMUI) блокирует отрисовку этого слоя поверх экрана входящего вызова. Путь к настройке: Настройки → Приложения → WhoCalls → Дополнительно → Над другими приложениями — включите переключатель.

Параллельно проверьте каналы уведомлений. Зайдите в Настройки → Приложения → WhoCalls → Уведомления. Убедитесь, что включены категории «Входящие вызовы» и «Идентификация номеров». Для каждого канала установите важность «Высокая» или «Срочная» и разрешите звук/вибрацию — это гарантирует, что система не заглушит алерт идентификатора в режиме «Не беспокоить».

📊 Какое решение помогло вернуть работу WhoCalls на вашем Huawei?
Настройка автозапуска и батареи
Разрешение «Над другими приложениями»
Обновление HMS Core
Переустановка приложения
Ничего не помогло

Обновление HMS Core и сервисов Huawei

На устройствах без GMS (серия Mate 30, P40, Nova 7 и новее) WhoCalls использует HMS Core для получения пуш-уведомлений и синхронизации баз спама. Устаревшая версия фреймворка (ниже 6.7.0) ломает доставку данных в реальном времени. Обновите HMS Core через AppGallery или вручную через Настройки → Приложения → HMS Core → Подробнее в AppGallery.

Как обновить HMS Core, если AppGallery не открывается

Скачайте актуальный APK HMS Core с официального сайта developer.huawei.com/consumer/ru/doc/development/HMSCore-Guides-V5/introduction-0000001050145195-V5. Установите файл через «Мой файловый менеджер», разрешив установку из неизвестных источников для этого приложения. После установки обязательно перезагрузите устройство.

⚠️ Внимание: Не скачивайте HMS Core с сторонних файлообменников — модифицированные версии могут содержать вредоносный код и лишить гарантии на устройство.

Также проверьте версию «Сервисов Huawei» (Huawei Mobile Services). Она обновляется в фоне, но сбой может застрять на старой сборке. Принудительная остановка и очистка кэша сервисов часто запускает процесс самообновления.

Очистка кэша, данных и чистая переустановка

Накопленные поврежденные кэш-файлы локальной базы номеров вызывают ошибку «Номер не найден» даже для известных контактов. Выполните очистку в системном меню: Настройки → Приложения → WhoCalls → Память → Очистить кэш. Если не помогло — нажмите «Очистить данные», но учтите: это сбросит настройки приложения и историю идентификации, потребуется повторный вход в аккаунт.

Для полной переустановки удалите приложение, перезагрузите телефон (важно для удаления остаточных папок в /Android/data/), затем установите свежую версию только из AppGallery или официального сайта разработчика. Версии с APK-сайтов часто лишены сертификата подписи, что вызывает отказ HarmonyOS в выдаче разрешения «Над другими приложениями».

⚠️ Внимание: При удалении WhoCalls через долгое нажатие на иконке выбирайте «Удалить» с подтверждением удаления данных, а не просто «Убрать с рабочего стола». Иначе папка кэша останется в памяти и перенесется при новой установке.

Таблица совместимости версий прошивок и известных багов

Версия ОС Типичная проблема Статус фикса от Huawei
EMUI 10 / 11 Сброс автозапуска после сна Исправлено в патче 2021
EMUI 12 / HarmonyOS 2 Блокировка overlay-окна Требует ручной настройки
HarmonyOS 3 / 4 Умная защита блокирует сеть Частично исправлено в SP3
HarmonyOS NEXT (Beta) Отсутствие API для идентификаторов В разработке (SDK 12+)

Владельцам устройств на HarmonyOS NEXT стоит знать: новая микроядерная архитектура пока не предоставляет сторонним приложениям полноценный доступ к телефонии для идентификации в реальном времени. Работа WhoCalls на таких устройствах ограничена ручным поиском номера в приложении после звонка.

Альтернативы и обращение в поддержку

Если системные ограничения не снимаются (корпоративные профили, MDM-политики), рассмотрите встроенный идентификатор Huawei: Телефон → Меню → Настройки → Идентификатор звонков. Он работает без дополнительных разрешений и интегрирован в системный диалер. Для бизнес-линий подключите сервис «Антиспам» от оператора — он фильтрует на уровне сети.

💡

Добавьте виджет WhoCalls на рабочий стол (размер 1x1) — это создает дополнительную точку входа для процесса и снижает вероятность выгрузки из памяти системой управления ресурсами.

💡

Главное правило: WhoCalls на Huawei работает только при сочетании трех условий — неограниченная батарея, разрешение «Над другими приложениями» и актуальный HMS Core. Пропуск любого пункта ломает идентификацию.

При сохраняющейся ошибке соберите лог через Настройки → Система и обновления → Журналы ошибок и отправьте в техподдержку WhoCalls из раздела «Помощь и обратная связь» внутри приложения. Укажите модель телефона, версию HarmonyOS (раздел «О телефоне») и точное время тестового звонка.

Почему WhoCalls показывает «Неизвестный номер» даже для контактов из записной книжки?

Приложение приоритизирует свою облачную базу над локальными контактами. Если синхронизация с сервером WhoCalls не прошла (нет интернета или блокирует брандмауэр), идентификатор не успевает сопоставить номер. Проверьте доступ к сети для приложения в Настройки → Приложения → WhoCalls → Мобильные данные и Wi-Fi — должны быть разрешены оба типа соединения.

Можно ли заставить WhoCalls работать в режиме «Ультраэкономия»?

Нет. Режим «Ультраэкономия» (Ultra Power Saving) в EMUI/HarmonyOS жестко ограничивает белый список приложений до системных (звонки, смс, часы). Сторонние идентификаторы в этот список не добавляются. Выход — использовать системный идентификатор Huawei или отключать ультраэкономию при ожидании важных звонков.

Почему после обновления HarmonyOS 4.0 идентификатор перестал выводить окно на заблокированном экране?

В HarmonyOS 4.0 изменилась политика уведомлений на экране блокировки для категорий «Скрытое содержимое». Зайдите в Настройки → Уведомления → На экране блокировки и выберите «Показывать содержимое» или настройте исключение для WhoCalls в «Не беспокоить → Исключения».

Как проверить, работает ли пуш-канал WhoCalls прямо сейчас?

Откройте приложение, перейдите в «Настройки → Проверка работы» (или «Тест идентификации»). Нажмите «Сделать тестовый звонок». Если через 5–10 секунд придет пуш с текстом «Тест пройден» — канал работает. Если тишина — проблема в HMS Core или настройках батареи.

Безопасно ли давать WhoCalls доступ к журналам вызовов и контактам?

Приложение требует эти разрешения для корректной работы: журнал вызовов — для определения входящих/исходящих в реальном времени, контакты — для исключения своих номеров из проверки на спам. WhoCalls заявляет о соответствии GDPR и не передает данные третьим лицам. При недоверии можно отозвать разрешения, но идентификация перестанет работать.