Uri 激活到 "ms-appdata:///local/"
Uri activation to "ms-appdata:///local/"
运行 下面的代码给了我这个意想不到的结果:
private async void OpenItemAppBarBtn_Click(object sender, RoutedEventArgs e)
{
MediaViewModel media = MyListView.SelectedItem as MediaViewModel;
if (media.VidOrPic)
{
var uriString = "ms-appdata:///local/" + media.Name + ".mp4";
Uri muUri = new Uri(uriString);
Launcher.LaunchUriAsync(new Uri(uriString, UriKind.RelativeOrAbsolute));
}
else
{
var uriString = "ms-appdata:///local/" + media.Name + ".jpeg";
Uri muUri = new Uri(uriString);
Launcher.LaunchUriAsync(new Uri(uriString, UriKind.RelativeOrAbsolute));
}
}
UriString 内容:
如果没有默认应用程序与您提供的 Uri
关联,Launcher.LaunchUriAsync
方法始终显示应用程序选择器。
然而,有一个 overload:
Launcher.LaunchUriAsync(Uri, LauncherOptions)
启动器选项允许您设置一个名为 DisplayApplicationPicker
的 属性。如果默认应用程序已定义 并且 您将此值设置为 true,使用重载,应用程序将直接启动,而不显示应用程序选择器。
到运行文件使用Launcher.LaunchFileAsync,而不是Launcher.LaunchUriAsync
var uriString = "ms-appdata:///local/" + media.Name + ".mp4";
Uri muUri = new Uri(uriString);
var file = await StorageFile.GetFileFromApplicationUriAsync(muUri);
await Launcher.LaunchFileAsync(file);
运行 下面的代码给了我这个意想不到的结果:
private async void OpenItemAppBarBtn_Click(object sender, RoutedEventArgs e)
{
MediaViewModel media = MyListView.SelectedItem as MediaViewModel;
if (media.VidOrPic)
{
var uriString = "ms-appdata:///local/" + media.Name + ".mp4";
Uri muUri = new Uri(uriString);
Launcher.LaunchUriAsync(new Uri(uriString, UriKind.RelativeOrAbsolute));
}
else
{
var uriString = "ms-appdata:///local/" + media.Name + ".jpeg";
Uri muUri = new Uri(uriString);
Launcher.LaunchUriAsync(new Uri(uriString, UriKind.RelativeOrAbsolute));
}
}
UriString 内容:
如果没有默认应用程序与您提供的 Uri
关联,Launcher.LaunchUriAsync
方法始终显示应用程序选择器。
然而,有一个 overload:
Launcher.LaunchUriAsync(Uri, LauncherOptions)
启动器选项允许您设置一个名为 DisplayApplicationPicker
的 属性。如果默认应用程序已定义 并且 您将此值设置为 true,使用重载,应用程序将直接启动,而不显示应用程序选择器。
到运行文件使用Launcher.LaunchFileAsync,而不是Launcher.LaunchUriAsync
var uriString = "ms-appdata:///local/" + media.Name + ".mp4";
Uri muUri = new Uri(uriString);
var file = await StorageFile.GetFileFromApplicationUriAsync(muUri);
await Launcher.LaunchFileAsync(file);