Смс‑сообщения занимают значительную часть памяти смартфона, а иногда в архиве остаются конфиденциальные данные, которые нужно удалить. В этой статье мы рассмотрим все доступные способы удаления СМС из архива на устройствах Android (и кратко на iOS), а также покажем, как выполнить эту задачу программно.
Содержание
- Что такое архив СМС?
- Зачем удалять СМС из архива?
- Удаление через пользовательский интерфейс
- Сторонние приложения и сервисы
- Удаление через ADB
- Программное удаление через ContentProvider
- Как обеспечить полное (перманентное) удаление
- Резервное копирование перед удалением
- Удаление СМС на iPhone (кратко)
Что такое архив СМС?
В большинстве современных смартфонов СМС‑сообщения хранятся в базе данных content://sms/. Некоторые приложения (Google Сообщения, Samsung Messages, МТС) позволяют «архивировать» диалоги, перемещая их в отдельный раздел, но физически сообщения остаются в той же базе данных. Поэтому удаление из архива — это в действительности удаление записей из этой базы.
Зачем удалять СМС из архива?
- Освобождение памяти. Одна СМС занимает ~1 KB, но сотни тысяч сообщений могут съедать сотни мегабайт.
- Конфиденциальность. В архиве могут находиться коды подтверждения, пароли, личные переписки.
- Упрощение поиска. Меньше сообщений — быстрее находить нужные.
Удаление через пользовательский интерфейс
Google Сообщения (Messages)
- Откройте приложение Google Сообщения.
- Нажмите на три точки в правом верхнем углу → Настройки → Чаты.
- Выберите Архив. Откроется список всех архивированных диалогов.
- Долгим нажатием выберите нужный диалог → нажмите Удалить (корзина).
- Подтвердите действие. Сообщения будут удалены из базы данных.
Samsung Messages
- Запустите Сообщения → откройте меню ⋮ → Настройки → Архивировать чаты.
- Выберите архивированный чат, нажмите удалить (значок корзины) и подтвердите.
Приложение МТС (SMS‑архив)
Как указано в поисковой выдаче:
- Откройте приложение МТС и перейдите в раздел Управление услугами.
- Найдите пункт СМС‑архив.
- Выберите нужное сообщение, отметьте его галочкой и нажмите кнопку Удалить.
Удаление всех сообщений сразу (Android)
- Откройте Настройки → Приложения → Сообщения → Хранилище.
- Нажмите Очистить данные. ВНИМАНИЕ: это удалит все СМС, включая архив.
Сторонние приложения и сервисы
- Textra SMS – в настройках можно включить автоматическое удаление сообщений старше заданного количества (например, 30 дней).
- Cleaner (Clean Master, CCleaner) – сканируют базу СМС и позволяют массово удалить выбранные сообщения.
- Apeaksoft Android Восстановление данных – если вы случайно удалили важные СМС, это приложение может попытаться их восстановить (но лучше сразу делать резервную копию).
Удаление через ADB (Android Debug Bridge)
Если телефон «заперт» и вы не можете зайти в приложение, можно воспользоваться компьютером.
adb shell
content delete --uri content://sms/inbox --where "address='1234567890'"
Для удаления всех сообщений:
adb shell
content delete --uri content://sms/
Для удаления только архивированных диалогов (если ваш мессенджер использует отдельный флаг archived=1):
adb shell
content delete --uri content://sms/ --where "archived=1"
Программное удаление через ContentProvider (Android)
Если вы разработчик и хотите встроить функцию очистки в своё приложение, используйте ContentResolver. Ниже — минимальный пример на Java.
import android.content.ContentResolver;
import android.content.ContentValues;
import android.net.Uri;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class SmsCleanerActivity extends AppCompatActivity {
private static final Uri SMS_URI = Uri.parse("content://sms/");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Пример: удалить все сообщения от номера +7 -161234567
deleteSmsByNumber("+7 -161234567");
}
private void deleteSmsByNumber(String phoneNumber) {
ContentResolver resolver = getContentResolver;
// Формируем условие WHERE
String where = "address = ?";
String[] args = new String[]{phoneNumber};
int rowsDeleted = resolver.delete(SMS_URI, where, args);
if (rowsDeleted > 0) {
// Успешно удалено
System.out.println(rowsDeleted + " сообщений удалено.");
} else {
System.out.println("Сообщения не найдены.");
}
}
}
Важно:
- Приложение должно иметь разрешения
android.permission.READ_SMSиandroid.permission.WRITE_SMS. - Начиная с Android 4.4 (API 19) только приложение, установленное как «по умолчанию» для СМС, может выполнять
delete. Поэтому перед удалением предложите пользователю установить ваше приложение как дефолтное.
Как обеспечить полное (перманентное) удаление
Обычное удаление лишь помечает запись как «удалённую», но данные могут оставаться в свободных блоках памяти. Чтобы гарантировать, что их нельзя восстановить:
- После удаления выполните перезапись свободного места (например, запустите приложение‑заполнитель, которое создаёт большие файлы, а затем удалите их).
- Используйте режим Factory Reset с опцией «Полное стирание данных», если нужно очистить весь телефон.
- Для отдельных сообщений можно воспользоваться приложениями, которые перезаписывают их содержимое перед удалением (например, Secure Eraser).
Резервное копирование перед удалением
Никогда не удаляйте сообщения без предварительной копии, если они могут понадобиться позже.
- Google Drive – в настройках Google Сообщений включите синхронизацию.
- SMS Backup & Restore – бесплатное приложение, сохраняет СМС в файл XML, который можно импортировать обратно.
- Для iPhone – iCloud или iTunes резервируют сообщения вместе с другими данными.
Удаление СМС на iPhone (кратко)
На iOS архивов в привычном виде нет, но сообщения можно скрыть в разделе Сообщения → Скрыть. Чтобы полностью удалить:
- Откройте Сообщения.
- Нажмите и удерживайте диалог, выберите Удалить.
- Перейдите в Настройки → Сообщения → Хранить сообщения и установите «30 дней» или «Навсегда», после чего система автоматически удалит старые сообщения.
Для полного стирания используйте Настройки → Основные → Сброс → Стереть весь контент и настройки.
Удалить СМС из архива телефона можно разными способами:
- Через встроенный UI (Google Сообщения, Samsung Messages, приложение МТС).
- С помощью сторонних приложений, которые позволяют массово чистить сообщения.
- Через ADB, если нужен быстрый скрипт без доступа к UI.
- Программно, используя
ContentResolverиcontent://sms/(только для приложений‑дефолтных СМС‑клиентов). - Для гарантированного стирания — перезапись свободного места или полное сброс устройства.
Не забывайте делать резервные копии перед массовым удалением, чтобы избежать потери важной информации.
Дата актуальности статьи: