Звонки не проходят на Android

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

Быстрая проверка

Пройдите по списку по порядку. Большинству помогает уже секция про Xiaomi.

  1. Сначала проверьте уведомления. Откройте Dixl › Настройки › Уведомления › Тестовое уведомление. Если тест не приходит, сначала исправьте Уведомления.
  2. Оптимизация батареи отключена. Подробно — в статье Оптимизация батареи. Стандартного режима Android Без ограничений недостаточно на Xiaomi, Huawei, OnePlus и OPPO.
  3. На телефоне есть рабочий интернет — откройте браузер и загрузите любую страницу.
  4. Режим «Не беспокоить» выключен, либо Dixl добавлен в исключения (системные Настройки › Звук › Не беспокоить).

Почему звонок обрывается через пять секунд (Xiaomi / MIUI)

Это самый частый сценарий. Картина одинакова у всех:

Что происходит на самом деле: MIUI-чистильщик памяти выгружает Dixl сразу после блокировки экрана. Когда приходит следующий звонок, Google FCM вынужден поднимать приложение с диска заново — на типичном телефоне это около секунды. Система даёт приложению десятисекундное окно, чтобы разбудить экран и поднять окно вызова. Затем MIUI отказывает окну вызова в праве появиться поверх экрана блокировки — это разрешение по умолчанию выключено — поэтому activity таймаутит, а звонок обрывается до того, как экран успеет толком включиться.

Лекарство — четыре настройки Xiaomi, все по пути Настройки › Приложения › Все приложения › Dixl:

  1. Контроль активностиБез ограничений.
  2. АвтозапускВключить.
  3. Другие разрешения — включите все три:
    • Показывать всплывающие окна, когда приложение работает в фоне
    • Показывать на экране блокировки
    • Показывать всплывающие окна
  4. Список последних приложений › проведите по карточке Dixl вниз → нажмите значок замка (закрепить в памяти).

После всех четырёх шагов баг полностью исчезает. Первые три — это MIUI-специфичные разрешения, которых нет в стандартном Android, поэтому Dixl не может выдать их сам при установке: их включает только пользователь, один раз, вручную.

Похожие ограничения у других производителей

Если у вас не Xiaomi, но звонки всё равно срываются, посмотрите блок по производителю в Оптимизации батареи. Логика лекарства та же:

iPhone / iOS

iOS использует Apple Push Notification Service для звонков — он доставляется намного надёжнее, чем Android FCM. Если на iOS звонок не проходит:

Всё равно не работает