Как я могу получить путь к файлу из этого типа URI контента?
blockquote>У вас нет, так как нет никакого файла вообще за
Uri
, не говоря уже о том, к которому вы можете получить доступ. ЭтоUri
может указывать на:
- Локальный файл на внешнем хранилище
- Локальный файл на внутренней памяти для другого приложения
- Локальный файл на съемном носителе
- Локальный файл, который зашифрован и должен быть дешифрован на лету
- Поток байтов, хранящихся в столбце
BLOB
в базе данных- Часть содержимого, которое должно быть загружено другим приложением первым
- ... и т. д.
Все другие приложения, такие как Facebook, Google+ это делает
blockquote>Нет, это не так. Они используют
ContentResolver
и:
openInputStream()
для чтения в байтах, связанных с содержимымgetType()
, чтобы получить тип MIME, связанный с содержимымquery()
иOpenableColumns
, чтобы получить размер и отображаемое имя, связанные с контентом
Ранее принятый ответ:
File.SetAttributes(path, FileAttributes.Hidden);
приведет к тому, что некоторые другие атрибуты могут быть потеряны, поэтому вам следует:
File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
FileInfo f = new FileInfo(myFileName);
f.Attributes = FileAttributes.Hidden;
Попробуйте что-то вроде этого:
FileInfo fi = new FileInfo(somefile);
fi.Attributes = FileAttributes.Hidden;
FileInfo
скрытые атрибуты могут быть несколько бесполезными, если в окнах пользователя настроено отображение скрытых файлов. Более целесообразно переместить файл на новый путь, особенно если пользователь на самом деле не ищет лайк C:\Program Files\Common Files
или любой другой путь, который, по вашему мнению, может вызвать у пользователя меньший интерес, прежде чем скрывать файл.
File.SetAttributes("pathToFile",FileAttributes.Hidden)