Я пытаюсь заставить приложение текстового редактора обрабатывать запуск файла. У Microsoft есть пример того, как это сделать здесь:
http://msdn.microsoft.com/en-us/library/windows/apps/hh452684.aspx
К сожалению, он останавливается в момент получения файла и не дает никакой информации о том, как на самом деле открыть указанный файл.
Я могу успешно обработать активированное событие и получить абсолютный путь к файлу. Например,
C:\Users\Rory\Documents\test.txt
Приложения Metro не имеют разрешения на доступ к абсолютным путям, за исключением определенных условий.
- если файл выбран пользователем через средство выбора файлов
- если приложение ранее обращалось к файлу и путь был сохранен в Windows.Storage.AccessCache
- если приложению передается файл в качестве запуска.
Несмотря на то, что в этом случае применяется номер 3, я не могу открыть файл.
Я пробовал Windows.Storage.StorageFile.getFileFromPathAsync(path_to_file)
, но получаю эту ошибку
0x80070005 - JavaScript runtime error: Access is denied.
WinRT information: Cannot access the specified file or folder (6).
The item is not in a location that the application has access to (including
application data folders, folders that are accessible via capabilities
and persisted items in the StorageApplicationPermissions lists). Verify
that the file is not marked with system or hidden file attributes.
Я уже настроил манифест пакета приложения для приема текстовых файлов.