Где Xiaomi хранит заблокированные номера: системные файлы и скрытые настройки

Заблокированные номера на смартфонах Xiaomi, Redmi или POCO — это не просто список в приложении "Телефон". За кулисами операционная система MIUI хранит эти данные в нескольких местах: от пользовательских баз данных до системных файлов, доступ к которым требует специальных прав. Если вам нужно восстановить блокировку после сброса настроек, перенести список на другой телефон или просто понять, как работает механизм блокировки — эта статья раскроет все технические нюансы.

В отличие от стандартных инструкций, здесь мы разберём не только визуальный интерфейс, но и физическое расположение файлов в памяти устройства, включая пути к базам данных SQLite, кэшу приложений и даже резервным копиям в облаке Mi Cloud. Особое внимание уделим различиям между версиями MIUI 12/13/14 и моделями на базе Android 10-14, где структура хранения может кардинально отличаться.

Предупреждаем заранее: работа с системными файлами требует осторожности. Одно неверное действие может привести к потере данных или сбою приложения "Телефон". Если ваша цель — просто экспортировать список заблокированных номеров, начните с раздела про встроенные функции MIUI. Для продвинутых пользователей ниже — детальный разбор файловой системы.

Официальный способ: где посмотреть заблокированные номера в MIUI

Самый простой метод — использовать встроенные инструменты MIUI. Список заблокированных контактов доступен напрямую через приложение "Телефон", но путь к нему зависит от версии оболочки:

  • 📱 MIUI 14/13: Откройте Телефон → ⋮ (три точки) → Настройки → Блокировка номеров. Здесь отображаются все заблокированные номера, а также настройки автоматической блокировки спама.
  • 🔄 MIUI 12 и старше: Путь может отличаться — Телефон → Настройки → Блокировка и идентификация → Список заблокированных.
  • ☁️ Синхронизация с Mi Cloud: Если включена резервная копия, список блокировок автоматически синхронизируется с аккаунтом Xiaomi. Проверить это можно в Настройки → Аккаунт Xiaomi → Mi Cloud → Синхронизация → Контакты.

Важно: в некоторых региональных прошивках (например, для Европы или Индии) пункт меню может называться Spam and Block или Call Blocking. Если не находите раздел — проверьте язык системы или обновите приложение "Телефон" через Google Play.

Через это меню можно не только просматривать список, но и:

  • 📤 Экспортировать заблокированные номера в файл .vcf (через "Поделиться").
  • 🗑️ Удалить отдельные записи или очистить весь список.
  • ⚙️ Настроить правила для автоматической блокировки неизвестных или скрытых номеров.
⚠️ Внимание: Если вы удалите приложение "Телефон" (например, через adb или после рут-прав), все настройки блокировки будут сброшены. Восстановить их можно только из резервной копии Mi Cloud или вручную через файловую систему.
📊 Какую версию MIUI вы используете?
MIUI 14
MIUI 13
MIUI 12 или старше
Не знаю
Другая прошивка

Файловая система: где физически хранятся заблокированные номера

За блокировку номеров в MIUI отвечает системное приложение com.android.contacts (или com.miui.contacts в старых версиях). Все данные хранятся в базе SQLite, но доступ к ней ограничен. Рассмотрим два ключевых пути:

1. Локальная база данных контактов

Основной файл с заблокированными номерами находится по пути:

/data/data/com.android.providers.contacts/databases/contacts2.db

В этой базе данные хранятся в таблице blocked_numbers. Чтобы просмотреть её содержимое, понадобятся:

  • 🔓 Рут-права (или adb root на разблокированном загрузчике).
  • 🛠️ SQLite-браузер (например, DB Browser for SQLite на ПК).
  • 📱 Терминал с поддержкой sqlite3 (можно использовать Termux).

Пример команды для вывода списка заблокированных номеров:

adb shell

su

sqlite3 /data/data/com.android.providers.contacts/databases/contacts2.db "SELECT * FROM blocked_numbers;"

2. Кэш приложения "Телефон"

Временные данные о блокировках могут дублироваться в кэше приложения com.android.dialer (или com.miui.contacts). Путь к файлам:

/data/data/com.android.dialer/cache/

/data/data/com.android.dialer/shared_prefs/

Здесь хранятся настройки интерфейса и последние действия, но не полный список блокировок. Однако в файле blocked_numbers.xml (если он есть) могут содержаться резервные копии.

⚠️ Внимание: Изменение файлов в /data/data/ без резервной копии может привести к краху приложения "Телефон". Перед редактированием сделайте бэкап папки com.android.providers.contacts командой:
adb pull /data/data/com.android.providers.contacts ~/backup_contacts
Как восстановить доступ к блокировкам после сброса MIUI?

Если вы сделали сброс настроек, но перед этим была включена синхронизация с Mi Cloud, заблокированные номера восстановятся автоматически при первом входе в аккаунт. Если синхронизация отключена, попробуйте:

1. Восстановить данные из локальной резервной копии (папка /MIUI/backup/AllBackup/ на внутреннем хранилище).

2. Использовать ADB для извлечения файла contacts2.db из старой прошивки (если есть бэкап TWRP).

3. Вручную добавить номера из истории звонков (если они сохранены в журнале).

Альтернативные методы: резервные копии и облако

Если прямой доступ к файлам невозможен (например, на заблокированном телефоне), воспользуйтесь альтернативными источниками:

Метод Где хранятся данные Требуемые условия
Mi Cloud Облачный аккаунт Xiaomi (раздел "Контакты") Синхронизация включена до потери данных
Локальный бэкап /MIUI/backup/AllBackup/ или /Backup/ Резервное копирование сделано через Настройки → Система → Резервное копирование
Google Контакты Аккаунт Google (contacts.google.com) Блокировки синхронизированы с Google (редко работает на MIUI)
Titanium Backup Папка /TitaniumBackup/ на SD-карте Рут-права + установленное приложение

Для восстановления из Mi Cloud:

  1. Перейдите в Настройки → Аккаунт Xiaomi → Mi Cloud.
  2. Выберите Восстановить и укажите дату бэкапа, где были актуальные блокировки.
  3. Подтвердите восстановление данных контактов (включая заблокированные номера).

Если бэкап сделан через AllBackup:

  • 📁 Найдите файл с расширением .mbk в папке /MIUI/backup/AllBackup/.
  • 🔄 Восстановите его через Настройки → Система → Резервное копирование → Локальное → Восстановить.
  • ⚠️ Учтите, что это восстановит все настройки, а не только блокировки.

Различия между моделями и версиями MIUI

Структура хранения заблокированных номеров может отличаться в зависимости от:

  • 📱 Модели устройства: На POCO и Redmi с глобальной прошивкой путь к файлам может отличаться от китайских версий.
  • 🔢 Версии MIUI: В MIUI 14 используется новая структура базы данных, несовместимая со старыми версиями.
  • 🤖 Версии Android: На Android 12+ доступ к /data/data/ ограничен даже для рутированных устройств (требуется adb root).
Версия MIUI Путь к блокировкам Особенности
MIUI 14 /data/data/com.android.providers.contacts/databases/contacts2.db Таблица blocked_numbers содержит поля number и timestamp
MIUI 12/13 /data/data/com.miui.contacts/databases/contacts.db В некоторых версиях блокировки хранятся в raw_contacts с флагом is_blocked=1
MIUI 11 и старше /data/data/com.android.contacts/databases/contacts.db Формат базы совместим с AOSP, но может отсутствовать таблица блокировок

На устройствах с Android 10+ и MIUI 12+ доступ к системным папкам усложнён. Например, даже с рут-правами может потребоваться:

  • 🔧 Отключить SELinux (команда setenforce 0).
  • 📂 Монтировать /data в режим записи (mount -o rw,remount /data).
  • 🛡️ Использовать Magisk для маскировки рут-прав от приложений.
⚠️ Внимание: На POCO F1/F2/F3 и Redmi Note 10/11 с глобальной прошивкой путь к базе может быть /data/user_de/0/com.android.providers.contacts/databases/contacts2.db. Это связано с особенностями реализации MIUI для международного рынка.

Как экспортировать заблокированные номера без рут-прав

Если у вас нет рут-прав, но нужно сохранить список блокировок, воспользуйтесь одним из этих методов:

1. Через приложение "Телефон"

В MIUI 13/14 можно экспортировать список в файл .vcf:

  1. Откройте Телефон → ⋮ → Настройки → Блокировка номеров.
  2. Нажмите на в правом верхнем углу и выберите Экспорт.
  3. Сохраните файл в удобное место (например, Загрузки).

2. Через ADB (без рут)

С помощью ADB можно извлечь некоторые данные даже без рут-прав. Подключите телефон к ПК и выполните:

adb shell content query --uri content://com.android.contacts/data --where "mimetype_id=(SELECT _id FROM mimetypes WHERE mimetype='vnd.android.cursor.item/blocked_number')" --projection "data1"

Эта команда выведет список заблокированных номеров в формате:

Row: 0 data1=+79123456789

Row: 1 data1=+1234567890

3. Через резервную копию Titanium Backup (если была сделана ранее)

Если у вас есть бэкап от Titanium Backup, восстановите данные приложения com.android.providers.contacts:

  • Установите Titanium Backup и предоставьте рут-права.
  • Найдите в списке бэкапов Контакты (Contacts Storage).
  • Выберите Восстановить данные (не приложение!).

☑️ Подготовка к экспорту блокировок

Выполнено: 0 / 4

Что делать, если блокировки пропали после обновления MIUI

После крупных обновлений (например, с MIUI 12 на MIUI 14) список заблокированных номеров может сброситься. Причины:

  • 🔄 Изменение структуры базы данных (в новых версиях используются другие таблицы).
  • 📦 Очистка кэша приложения "Телефон" во время обновления.
  • ☁️ Конфликт синхронизации между Mi Cloud и локальными данными.

Для восстановления:

  1. Проверьте Mi Cloud: Вход в аккаунт Xiaomi может автоматически восстановить блокировки.
  2. Откат обновления: Если обновление было недавно, попробуйте откатиться через Настройки → О телефоне → Обновление системы → ⋮ → Выбрать пакет обновления (нужен файл старой прошивки).
  3. Ручной перенос: Если у вас есть бэкап старой версии MIUI, извлеките файл contacts2.db и перенесите его в новую систему (требуется рут).

В MIUI 14 на базе Android 13 блокировки хранятся в зашифрованной базе. Для их извлечения потребуется ключ шифрования, который можно получить только с разблокированным загрузчиком и рут-правами.

Безопасность: как защитить список блокировок от потери

Чтобы избежать потери заблокированных номеров:

  • ☁️ Включите синхронизацию с Mi Cloud: Настройки → Аккаунт Xiaomi → Mi Cloud → Синхронизация → Контакты.
  • 📥 Регулярно делайте локальные бэкапы: Используйте Настройки → Система → Резервное копирование или Titanium Backup.
  • 📄 Экспортируйте список вручную: Периодически сохраняйте заблокированные номера в файл .vcf через приложение "Телефон".
  • 🔒 Не очищайте данные приложения "Контакты": Это удалит все блокировки.

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

#!/bin/bash

adb backup -f contacts.ab -apk -obb -shared com.android.providers.contacts

mv contacts.ab ~/storage/downloads/contacts_backup_$(date +%Y%m%d).ab

⚠️ Внимание: На устройствах с Android 11+ и MIUI 12.5+ резервное копирование через adb backup может не включать заблокированные номера из-за ограничений приватности. В этом случае используйте Titanium Backup или ручное копирование файлов.

FAQ: Частые вопросы о блокировке номеров в Xiaomi

🔍 Можно ли восстановить заблокированные номера после сброса к заводским настройкам?

Да, если до сброса была включена синхронизация с Mi Cloud. При первом входе в аккаунт Xiaomi после сброса блокировки восстановятся автоматически. Если синхронизация отключена, попробуйте восстановить данные из локального бэкапа (/MIUI/backup/AllBackup/) или вручную через файловую систему (требуется рут).

📱 Почему после обновления MIUI пропали все блокировки?

Это связано с изменением структуры базы данных в новых версиях MIUI. Например, при переходе с MIUI 12 на MIUI 14 таблица blocked_numbers может перенестись в другое место или изменить формат. Решения:

  • Восстановите блокировки из Mi Cloud.
  • Откатитесь на старую версию MIUI и экспортируйте список вручную.
  • Используйте ADB для извлечения данных из старой базы (команда приведена выше).

🔒 Как заблокировать номер так, чтобы он не пропал после обновления?

Чтобы блокировки сохранялись при любых изменениях системы:

  1. Включите синхронизацию с Mi Cloud (Настройки → Аккаунт Xiaomi → Mi Cloud → Синхронизация → Контакты).
  2. Экспортируйте список заблокированных номеров в файл .vcf через приложение "Телефон".
  3. Создайте резервную копию через Настройки → Система → Резервное копирование (выберите "Контакты").
  4. Если у вас рут-права, сделайте бэкап файла /data/data/com.android.providers.contacts/databases/contacts2.db.

Также можно использовать сторонние приложения для блокировки (например, Truecaller), которые хранят данные в своём облаке.

📁 Где хранятся заблокированные номера на POCO X3 Pro?

На POCO X3 Pro (и других устройствах с глобальной прошивкой) путь к базе блокировок:

/data/data/com.android.providers.contacts/databases/contacts2.db

Однако из-за особенностей MIUI для POCO может потребоваться:

  • Использовать adb root для доступа к папке.
  • Отключить SELinux командой setenforce 0.
  • Восстановить права на папку chmod 755 /data/data/com.android.providers.contacts/.

На некоторых версиях прошивки блокировки дублируются в /data/user_de/0/com.android.providers.contacts/databases/.

☁️ Можно ли перенести заблокированные номера на другой телефон Xiaomi?

Да, есть несколько способов:

  1. Через Mi Cloud: Войдите в один и тот же аккаунт Xiaomi на обоих телефонах и включите синхронизацию контактов.
  2. Через экспорт/импорт: На старом телефоне экспортируйте блокировки в файл .vcf (через приложение "Телефон"), а на новом импортируйте его через Контакты → ⋮ → Импорт/Экспорт.
  3. Через рут и ADB: Скопируйте файл contacts2.db со старого телефона на новый (требуются рут-права на обоих устройствах).
  4. Через Titanium Backup: Создайте бэкап Contacts Storage на старом телефоне и восстановите его на новом.

При переносе через contacts2.db учтите, что версии MIUI на обоих телефонах должны совпадать (или быть совместимыми).