Что такое формат файла NOMEDIA?
Файлы с расширением .nomedia не содержат никаких данных - их размер всегда составляет ровно 0 байт - и у них нет префикса в имени файла. Это скрытый файл (точка в начале скрывает его в стандартных списках файлов Android и Linux), который сообщает сканеру медиафайлов Android, что каталог, в котором он находится, не содержит мультимедийных файлов, предназначенных для отображения, таких как изображения, видео или аудио.
Файлы .nomedia используются для скрытия содержимого каталогов, чтобы они не были видны приложениям, работающим с медиа - например, системной галерее или музыкальному плееру. Размещение такого файла внутри папки предотвращает индексацию и отображение её содержимого этими приложениями. Удаление файла .nomedia заставляет сканер медиафайлов повторно проиндексировать каталог при следующем проходе.
Маркер был представлен Google как часть Android Open Source Project (AOSP) в ранних версиях Android примерно в 2009 году и с тех пор является частью платформы. Он применяется к папке, в которой находится, но не распространяется на подкаталоги - каждой подпапке, которую нужно исключить, требуется собственный файл .nomedia.
Если вы хотите создать такой файл вручную, помните, что префикс имени файла должен быть пустым. Файл должен содержать только расширение - он должен называться именно .nomedia. В Android или Linux достаточно консольной команды touch .nomedia; кроме того, любой файловый менеджер может создать пустой файл с таким именем.
Файл не будет выполнять свою функцию, если в имени есть какой-либо префикс - например, file.nomedia не распознается сканером медиафайлов.
Безопасность и защита
РИСК: LOWФайл .nomedia безвреден - он пуст и не может содержать код. Это не вирус, хотя некоторые приложения для «очистки» или удаления мусора создают файлы .nomedia в папках DCIM/Pictures, заставляя пользователей думать, что их фотографии были удалены. Удаление любого файла .nomedia всегда безопасно для ваших данных; единственным побочным эффектом будет то, что кэши приложений (стикеры, миниатюры) могут снова заполнить вашу Галерею. Примечание: скрытие фотографий с помощью .nomedia не является мерой безопасности - любой файловый менеджер все равно покажет эти файлы.
Детали формата
в двух словахПрограммы, открывающие файлы NOMEDIA
Технические подробности
глубокая спецификация| Размер файла | Всегда 0 байт - файл пуст по определению; его содержимое не имеет значения |
| Полное имя файла | `.nomedia` - с точкой в начале и без основного имени; точка является частью имени, а не разделителем |
| Содержимое файла | Пусто - нет байтов, заголовков или магических сигнатур; важны только имя файла и его местоположение |
| Видимость | Скрыт в Android и Linux по соглашению - файлы, начинающиеся с точки, не отображаются в стандартных списках каталогов |
| Область действия | Применяется только к каталогу, в котором находится; не распространяется на подкаталоги |
| Распознается | Сканером MediaStore Android (AOSP), который проверяет наличие этого файла перед индексацией папки |
| Влияние на сканер | Подавляет индексацию изображений, аудио и видео в помеченном каталоге |
| Разработчик | Google / Android Open Source Project (AOSP) |
| Дата появления | Около 2009 года, в ранних выпусках Android |
| Поддержка хранилищ | Работает как во внутренней памяти, так и во внешних каталогах SD-карт на Android |
| Чувствительность к регистру | Имя файла должно быть в нижнем регистре `.nomedia` - файловая система Android чувствительна к регистру; `.NOMEDIA` или варианты в смешанном регистре не распознаются |
| MIME-тип | `application/octet-stream` - содержимое для определения типа отсутствует |
| Способ создания | Любой файловый менеджер или консольная команда `touch .nomedia` могут создать его как пустой файл |
| Эффект удаления | Удаление файла приводит к тому, что при следующем проходе сканера медиафайлы каталога будут проиндексированы и открыты |
| Специфика платформы | Соглашение только для Android; не имеет значения для файловых систем Windows, macOS или iOS |
| Требование к префиксу | Должен иметь пустую основу - любой префикс в имени (например, `app.nomedia`) нарушает распознавание сканером |
| Выпущен | circa 2009 (early Android releases; behavior documented in Android MediaStore/media scanner) |
| Открыть стандартное | Да · без роялти |
| Спецификация | developer.android.com |