Почему WhoCalls не работает на Xiaomi: 7 причин и как это исправить

Вы устанавливаете WhoCalls на свой Xiaomi, Redmi или POCO, но приложение не определяет входящие звонки, не показывает имена абонентов или вовсе не запускается? Эта проблема знакома тысячам пользователей — и она не случайна. Дело в особенностях прошивки MIUI, которая активно блокирует фоновую работу сторонних приложений, включая сервисы определения номеров.

В этой статье мы не просто перечислим возможные причины, а дадим пошаговые инструкции с учётом версий MIUI 12/13/14 и HyperOS, расскажем о скрытых настройках энергосбережения, которые мешают работе WhoCalls, и предложим проверенные альтернативы. А ещё — объясним, почему даже после всех манипуляций приложение может работать нестабильно на некоторых моделях (например, Xiaomi 13 Pro или Redmi Note 12).

1. Почему WhoCalls не определяет номера на Xiaomi: основные причины

Проблема кроется не в самом приложении, а в политике энергосбережения MIUI. Система агрессивно оптимизирует фоновые процессы, особенно для приложений, которые:

  • 🔋 Используют постоянный доступ к интернету (WhoCalls проверяет номера в облачной базе).
  • 📞 Работают с телефонными функциями (определение входящих вызовов).
  • 🔄 Обновляют данные в реальном времени (синхронизация базы номеров).

Кроме того, в MIUI 14 и HyperOS появились новые ограничения для приложений с доступом к Call Log и Phone. Даже если вы дали все разрешения вручную, система может блокировать WhoCalls через:

  • 🛡️ Защиту конфиденциальности (настройки Настройки → Конфиденциальность → Специальный доступ).
  • Автоматическую оптимизацию (меню Настройки → Батарея → Оптимизация батареи).
  • 🔒 Ограничения для "несистемных" приложений (особенно актуально для моделей с Global ROM).

Ещё один нюанс: WhoCalls может конфликтовать с встроенным в MIUI сервисом "Определение номеров" (он работает через Mi Cloud). Если оба сервиса активны, они мешают друг другу.

📊 Какая у вас модель Xiaomi/Redmi/POCO?
Xiaomi 13/14 серии
Redmi Note 11/12
POCO F/X серии
Старая модель (до 2020 г.)
Другая

2. Как настроить WhoCalls на Xiaomi: пошаговая инструкция

Прежде чем удалять приложение, выполните эти действия. Они работают на MIUI 12–14 и HyperOS (для старых версий см. раздел про устаревшие прошивки).

Шаг 1: Разрешения для приложения

Откройте Настройки → Приложения → Управление приложениями → WhoCalls и включите:

  • 📱 Все разрешения (особенно Телефон, Контакты, Журнал вызовов).
  • 🔄 Автозапуск (вкладка Батарея в настройках приложения).
  • 🔌 Фоновая активность (раздел Ограничения фона).

Шаг 2: Исключение из оптимизации батареи

Перейдите в Настройки → Батарея → Оптимизация батареи, найдите WhoCalls в списке и выберите Без ограничений. Если приложения нет в списке — нажмите ⋯ → Показать все приложения.

Шаг 3: Настройка специального доступа

В Настройки → Конфиденциальность → Специальный доступ проверьте:

  • 📞 Оверлей других приложений (разрешите для WhoCalls).
  • 🔍 Изменение системных настроек (нужно для отображения уведомлений).
  • 📊 Доступ к журналу вызовов (обязательно!).

Даны все разрешения в настройках приложения|

WhoCalls исключён из оптимизации батареи|

Включён автозапуск и фоновая активность|

Отключён встроенный определитель номеров MIUI|

Перезагружен телефон после настроек-->

Важно! После всех манипуляций перезагрузите телефон — иначе изменения могут не примениться.

3. Конфликт с встроенным определителем номеров MIUI

MIUI имеет собственный сервис определения номеров, который работает через Mi Cloud. Он может блокировать WhoCalls, так как система "решает", что достаточно одного сервиса. Чтобы отключить встроенный определитель:

  1. Откройте Настройки → Приложения → Управление приложениями.
  2. Нажмите ⋯ → Показать системные процессы.
  3. Найдите com.android.incallui или MiuiCallUI.
  4. Отключите разрешение Определение номеров (если есть).

На некоторых прошивках (например, MIUI 14 для Redmi Note 12) этот пункт может отсутствовать. Тогда поможет сброс настроек приложения Телефон:

  1. Перейдите в Настройки → Приложения → Телефон → Хранилище.
  2. Нажмите Очистить данные и Очистить кэш.
  3. Перезагрузите устройство.
Что делать, если нет пункта "Определение номеров"?

На некоторых прошивках (особенно китайских) этот раздел скрыт. Альтернативный способ:

1. Установите Mi Security (если удалён).

2. Откройте Безопасность → Настройки → Определение номеров и отключите функцию.

3. Если и этого нет — остаётся только откатить прошивку или использовать ADB-команды (см. раздел ниже).

4. ADB-команды для принудительного разрешения работы WhoCalls

Если стандартные настройки не помогли, можно вручную дать WhoCalls максимальные права через ADB (Android Debug Bridge). Этот метод работает на MIUI 12–14 и HyperOS, но требует подключения к ПК.

Инструкция:

  1. Включите Режим разработчика (7 раз нажмите на Версия MIUI в Настройки → О телефоне).
  2. Активируйте Отладка по USB в Настройки → Дополнительно → Для разработчиков.
  3. Подключите телефон к ПК и выполните команды:
adb shell dumpsys deviceidle whitelist +com.whocalls.app

adb shell cmd appops set com.whocalls.app android:read_call_log allow

adb shell cmd appops set com.whocalls.app android:write_call_log allow

adb shell cmd appops set com.whocalls.app android:process_outgoing_calls allow

После выполнения команд перезагрузите телефон. Если ADB выдаёт ошибку device unauthorized, подтвердите отладку на экране смартфона.

5. Альтернативы WhoCalls для Xiaomi: что работает стабильно

Если WhoCalls так и не заработал, рассмотрите эти приложения. Они лучше адаптированы под MIUI и реже блокируются системой:

Приложение Преимущества Недостатки Совместимость с MIUI
GetContact Крупная база номеров, работает без SMS Требует регистрацию, иногда блокируется ⭐⭐⭐⭐ (хорошо)
Truecaller Глобальная база, интеграция с мессенджерами Много рекламы, собирает данные ⭐⭐⭐ (средне)
NumBuster Лёгкое, без регистрации, русскоязычная база Меньше определяет номеров ⭐⭐⭐⭐⭐ (отлично)
CallApp Запись звонков + определитель Платные функции, тяжелое для слабых устройств ⭐⭐⭐ (средне)

NumBuster показывает лучшие результаты на Xiaomi благодаря минимальным требованиям к фону и отсутствию конфликтов с MIUI. Если вам важна конфиденциальность, обратите внимание на Call Blocker (без облачной базы, но с ручным добавлением номеров).

6. Частые ошибки и как их избежать

Даже после правильной настройки WhoCalls может работать некорректно. Вот типичные ошибки пользователей:

⚠️ Внимание! Если WhoCalls перестал определять номера после обновления MIUI, сбросьте настройки приложения (Настройки → Приложения → WhoCalls → Хранилище → Очистить данные) и повторите настройку с нуля. Обновления часто сбрасывают разрешения.
  • 🔌 Не отключён режим энергосбережения. Даже если WhoCalls в исключениях, общий режим Энергосбережение или Суперсбережение может блокировать его. Отключите их в Настройки → Батарея.
  • 📵 Нет интернета во время звонка. WhoCalls проверяет номера онлайн — если в момент вызова нет сети (например, в метро), определение не сработает.
  • 🔄 Устаревшая версия приложения. В MIUI 14 и HyperOS старые версии WhoCalls (до 2023 года) могут не работать. Обновите приложение в Google Play.
  • 📱 Конфликт с другими определителями. Если у вас установлены Truecaller, GetContact и WhoCalls одновременно, они будут мешать друг другу. Оставьте одно приложение.

Ещё одна распространённая проблема — WhoCalls определяет номера, но не показывает уведомления. Это лечится так:

  1. Откройте Настройки → Уведомления → WhoCalls.
  2. Включите Показывать уведомления и Важность: Высокая.
  3. В разделе Категории уведомлений активируйте Входящие вызовы.

7. WhoCalls на старых версиях MIUI (до 12-й)

Если у вас смартфон на MIUI 10–11 (например, Redmi Note 8 или Xiaomi Mi 9), настройка WhoCalls имеет нюансы:

  • 🔧 В этих версиях нет раздела Специальный доступ. Вместо этого дайте WhoCalls разрешение Изменять системные настройки через Настройки → Разрешения → Другие разрешения.
  • 🔋 Оптимизация батареи настраивается в Настройки → Батарея → Выбор режима (выберите Без ограничений для WhoCalls).
  • 📞 Встроенный определитель номеров отключается через Настройки → Системные приложения → Телефон → Определение номеров.

На MIUI 9 и ниже WhoCalls может не работать вовсе из-за устаревших API. В этом случае рекомендуем:

  • Обновить прошивку до MIUI 12+ (если возможно).
  • Использовать NumBuster — он менее требователен к версии Android.
  • Установить кастомную прошивку (например, Pixel Experience), если вы опытный пользователь.

FAQ: Частые вопросы о WhoCalls на Xiaomi

❓ Почему WhoCalls работает только через VPN?

В некоторых регионах (например, в России) WhoCalls может блокировать доступ к своей базе без VPN. Это связано с ограничениями провайдеров или самим приложением. Попробуйте подключиться к VPN (например, ProtonVPN или Warp) и проверьте работу WhoCalls снова. Если после отключения VPN определение номеров прекращается — проблема на стороне серверов WhoCalls.

❓ Можно ли сделать WhoCalls системным приложением на Xiaomi?

Технически да, но для этого нужен root-доступ или кастомное recovery (например, TWRP). Без рут-прав системным приложением WhoCalls сделать нельзя. Альтернатива — использовать ADB-команды для максимальных разрешений (см. раздел 4).

⚠️ Внимание! Превращение WhoCalls в системное приложение может привести к нестабильной работе телефона, особенно на HyperOS. Делайте это только если понимаете риски.

❓ Почему WhoCalls не определяет номера с кодом +7, но работает с +380?

Это связано с региональными настройками базы WhoCalls. Приложение может иметь неполные данные для российских номеров (+7) из-за санкций или ограничений. Решения:

  1. Проверьте регион в настройках WhoCalls (должен быть Россия или СНГ).
  2. Обновите базу номеров вручную в меню приложения.
  3. Используйте альтернативы вроде NumBuster или GetContact, у которых более полная база для +7.
❓ Как перенести базу WhoCalls на новый Xiaomi?

WhoCalls не имеет встроенного экспорта базы, но можно перенести данные через резервное копирование:

  1. На старом телефоне: Настройки WhoCalls → Резервное копирование → Сохранить на Google Диск.
  2. На новом телефоне: установите WhoCalls, войдите в тот же аккаунт Google и восстановите данные.

Если этот способ не работает, попробуйте скопировать папку /Android/data/com.whocalls.app через файловый менеджер (нужен root).

❓ WhoCalls съедает батарею на Xiaomi. Как уменьшить расход?

WhoCalls может потреблять до 5–10% заряда в день из-за постоянной проверки номеров. Чтобы уменьшить расход:

  • Отключите Автообновление базы в настройках приложения.
  • Установите интервал синхронизации 1 раз в день (вместо Постоянно).
  • Отключите Определение SMS, если не используете эту функцию.
  • Добавьте WhoCalls в Ограничение фона (но тогда определение будет работать только при открытом приложении).