Нет API для файловой системы, даже с BroadFileAccess в UWP
Я пытаюсь создать File Explorer, такой как приложение uwp, это будет приложение, похожее на обычный файловый менеджер в Windows 10, но в основном оно будет показывать только видеофайлы, поэтому для этого я хочу использовать возможность BroadFileAccess. Обычно, когда я использую возможность, связанную с FileAccess, у меня есть простой API, такой как KnownFolders.VideoLibrary и тому подобное, чтобы получить корневую папку этой библиотеки, но в этом случае broadfileacccess заявляет о предоставлении доступа к полной файловой системе, которая доступна пользователю., но в документации нет ни одного метода или ссылки на API, например,KnownFolders.FileSystem, которая может дать нам корневую папку файловой системы пользователя, чтобы мы могли создавать приложения, такие как проводник и т. д. Как я могу продолжать и использовать эту возможность broadFileAccess, если нет даже метода API для его использования?
1 ответ
Это ограниченная возможность. При первом использовании система предложит пользователю разрешить доступ. Доступ настраивается в Настройки> Конфиденциальность> Файловая система. Если вы отправляете приложение в Магазин, которое объявляет эту возможность, вам необходимо будет предоставить дополнительные описания того, почему вашему приложению нужна эта возможность и как оно намеревается ее использовать. Эта возможность работает для API в
Windows.Storage
Пространство имен
В настоящее время он не предоставляет Windows.Storage
API. Но вы могли бы использовать настоящее Windows.Storage
API для получения более высокого доступа. Например, вы можете вызвать GetFolderFromPathAsync
метод с абсолютным путем (@"D:\PersonImages"
). Вы могли бы использовать GetFolderFromPathAsync
с SystemDataPaths
или же UserDataPaths
,
var folder = await StorageFolder.GetFolderFromPathAsync(UserDataPaths.GetDefault().Desktop);
До этого такой доступ был незаконным.