如何在Windows Phone 8.1中访问下载文件夹

5
我想将文件下载到“下载”文件夹并进行阅读。它是一个类似照片和视频的根文件夹。
但是,对于手机而言,Windows.Storage.DownloadsFolder 不可用,并且我在 KnownFolders 中也没有看到它,例如 Windows.Storage.KnownFolders.PicturesLibrary; 另外,我尝试过 C:\Data\Users\Public\Downloads\,但会给出未经授权的结果。
我发现有些应用程序可以访问它,但是怎么做呢?
2个回答

7
你可以使用文件或文件夹选择器。 我不确定你是想让用户选择一个文件,还是想自己选择一个文件,但我认为最好的方法是使用类似于以下内容的东西:
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.SuggestedStartLocation = PickerLocationId.Downloads;
StorageFile file = await openPicker.PickSingleFileAsync();

或者

FolderPicker folderPicker = new FolderPicker();
folderPicker.SuggestedStartLocation = PickerLocationId.Downloads;
folderPicker.PickFolderAndContinue();

@ClausJørgensen-MSFT 但是有一些应用程序可以在商店中访问它(例如文件管理器)。 - user3293835
1
@user3293835 提供证据。 - Claus Jørgensen
它没有访问下载文件夹的权限。 - Claus Jørgensen
1
请注意,在Windows Phone 8.1上,folderPicker.SuggestedStartLocation将被忽略。 - Adam
@ClausJørgensen 这里有一个应用程序,可以读取内部存储中的文档、下载和铃声。我也想制作一个类似的应用程序,但仍然无法理解这个应用程序的开发者是如何实现的。 http://www.windowsphone.com/en-us/store/app/folders-pro-advanced-file-manager/69eaa9d6-060e-4e82-ba40-12df2fe2e285 - Firanto
显示剩余2条评论

2
为了补充前面的回答,可以访问这样一个文件夹,但只有通过FolderPicker第一次访问后才能实现。
诀窍是使用StorageApplicationPermissions.FutureAccessList。这就是文件浏览器应用程序所做的。它会给你一个令牌,你可以将其保存在你的IsolatedStorage中,这样你以后就可以直接访问Downloads文件夹,感谢这个令牌。
请参见StorageApplicationPermissions.mostRecentlyUsedList的演练:http://msdn.microsoft.com/library/windows/apps/hh972603,但原则上与FutureAccessList相同。

太棒了@StratocastFlo,终于你救了我的一天。 - Jawahar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接