Как проверить, указывают ли два Uri на один и тот же файл в Android?

#android #uri

#Android #uri

Вопрос:

Используя ACTION_CREATE_DOCUMENT или ACTION_GET_CONTENT, я могу получить Uri для файла во внутреннем или внешнем хранилище телефона. Используя Uri.FromFile(new Java.IO.File(path)); , я могу получить другой Uri для того же файла. Uri-ы разные (если я преобразую их в строку), но они указывают на один и тот же файл.

Как проверить, указывают ли два Uri на один и тот же файл?

Комментарии:

1. Удалите файл, используя один uri. Затем попробуйте прочитать файл из другого uri.

2. @blackapps Я не хочу потерять файл. Я хочу просто проверить, изменился ли Uri. Также удаление может быть невозможно с помощью uri.

Ответ №1:

Извините, но это непрактично:

  • Пользователю не требуется выбирать файл в файловой системе (например, выбирать содержимое с Google Диска, выбирать содержимое у других облачных провайдеров, выбирать содержимое из зашифрованного хранилища данных)
  • Даже если пользователь это сделает, не требуется, чтобы был способ получить путь к файловой системе из Uri , что вам нужно для сравнения a content Uri из этих Intent действий с a Uri , созданным Uri.fromFile()

Комментарии:

1. Предполагая, что два uri указывают на файлы во внутреннем хранилище телефона, как я могу проверить, указывают ли два Uri на один и тот же файл во внутреннем хранилище?

2. @MinimusHeximus: это рассматривается вторым пунктом в моем ответе.