2016-06-23 2 views
1

Для приложения Windows Store: как я могу определить, было ли переименовано или удалено StorageFile вне моего приложения, пока оно открыто в моем приложении?Как определить, было ли StorageFile переименовано или удалено в приложении UWP?

У меня есть приложение Windows 10 UWP, работающее на рабочем столе. Приложение позволяет пользователю открывать и редактировать документы.

Что я пробовал:

  • Проверка DateModified:
    • Я попытался проверить storageFile.GetBasicPropertiesAsync().DateModified, но даже я удалить файл и очистить корзину, вызов возвращается успешно с (старый) DateModified. (Я предполагаю, что он использует версию в памяти и не проверяет файл на диске)
  • Снова откройте StorageFile:
    • Затем я попытался «вновь открыть», используя файл StorageFile.GetFileFromPathAsync(file.Path). Это правильно бросило FileNotFoundException в первый раз.
    • Однако позже это не удалось с исключением Unauthorized access/permission denied. Это имеет смысл, потому что мне нужен пользователь, чтобы выбрать файл в FileOpenPicker, чтобы мое приложение получило разрешение на его использование.
  • Монитор родительской папки:
    • Не уедет с этим. Я пытался использовать StorageFolder.CreateFileQuery(), но я не могу получить доступ к родительской папке образует экземпляр StorageFile (опять же, это имеет смысл, потому что мое приложение не имеет разрешения на доступ к родительской папке)

ответ

Смежные вопросы