如何在默认照片应用程序中打开图像?

How can I open an image in the default photos app?

我有一个应用程序可以从设备的相机捕获图像并将它们作为 StorageFiles 保存到我的应用程序漫游数据中的一个文件夹中。我一直在尝试制作一个可以打开图像并显示预览的页面,但是我在这样做时遇到了很多问题,所以我只想在默认的照片应用程序中打开图像。但是,我找不到任何方法来做到这一点。使用 await Launcher.LaunchUriAsync(new Uri(@"ms-appdata:///roaming/folder/img.jpg")); 询问我是否要在商店中搜索应用程序(搜索 "ms-appdata")。 Windows (Phone) 的本机照片应用程序是否有专用的 URI 方案?此外,我 使用此应用程序的目标是 Windows 10,因此 URI 方案(如果有)可能已更改。

Launcher.LaunchUriAsync 用于启动使用 URI 方案的应用程序,这不是您想要的。

相反,您需要启动基于文件的应用程序:
获取图像作为 StorageFile

var imageFile = await StorageFile.GetFileFromPathAsync(@"ms-appdata:///roaming/folder/img.jpg");

然后您告诉 OS 启动一个应用程序来处理该文件。然后由用户选择哪个应用程序来处理图像文件:

var success = await Windows.System.Launcher.LaunchFileAsync(imageFile);

您可以阅读有关 "launching" 个文件的更多信息 here