繁体   English   中英

如何从UWP中的SD卡启动文件?

[英]how to launch files from sd card in uwp?

我正在尝试为Windows 10移动版创建文件资源管理器
我需要使用默认应用程序从路径(未安装的目录)启动文件
例如 “ d:\\ test.pdf”这是我尝试过的:

string p = @"a.jpg";
StorageFolder externalDevices = Windows.Storage.KnownFolders.RemovableDevices; 
StorageFile file = await externalDevices.GetFileAsync(p); 
var success = await Launcher.LaunchFileAsync(fff);

您可以使用Windows.System.Launcher API启动文件的默认处理程序,您可以在此处阅读更多内容

async void DefaultLaunch()
  {
     // Path to the file in the app package to launch
string imageFile = @"images\test.png";

var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(imageFile);

if (file != null)
{
  // Launch the retrieved file
  var success = await Windows.System.Launcher.LaunchFileAsync(file);

  if (success)
  {
     // File launched
  }
  else
  {
     // File launch failed
  }
 }
  else
   {
   // Could not find file
   }
 }

如果要从SD卡访问文件,请确保已阅读文档中“ SD卡可以访问和不能访问的内容”部分。

您的应用只能读取和写入已在应用清单文件中注册处理的文件类型的文件。 您的应用程序还可以创建和管理文件夹。 确保在appxmanifest的功能中选中“可移动存储”。

您必须在Package.appxmanifest中声明文件类型关联,以便从SD卡读取文件。 以下是我设置的一个示例:

在此处输入图片说明

然后,我使用以下代码示例成功启动了SD卡上“新文件夹”中包含的图片。

string p = @"1.jpg";
StorageFolder externalDevices = Windows.Storage.KnownFolders.RemovableDevices;
var rootfolder = (await externalDevices.GetFoldersAsync()).FirstOrDefault();
var folder = await rootfolder.GetFolderAsync("New folder");
var file = await folder.GetFileAsync(p); 
var success = await Launcher.LaunchFileAsync(file);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM