我正在创建Windows Phone 8.1应用程序,我正在尝试使用启动器打开文档,但是获取异常,并且文档不是MS OFFICE文档,它是在其他软件中创建的。这是我的代码。
string file = "readme.txt";
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
if (isf.FileExists(file))
{
isf.DeleteFile(file);
}
var filerun = await ApplicationData.Current.LocalFolder.CreateFileAsync(file);
await Launcher.LaunchFileAsync(await ApplicationData.Current.LocalFolder.GetFileAsync(file));
我收到这样的错误:
"Can't be Open, File Format doesn't recognize"
有时也喜欢这样:
"Document has been damaged"
我不知道如何处理这个,我被困在这里,任何帮助都将不胜感激。
答案 0 :(得分:2)
没有扩展名的文件名是“campaign rev 2”,因此传递给启动器的文件肯定不是“readme.txt”。
您可以将LauncherOptions.DisplayApplicationPicker
传递给LaunchFileAsync
方法。
var filerun = await ApplicationData.Current.LocalFolder.CreateFileAsync(file);
var options = new Windows.System.LauncherOptions(){ DisplayApplicationPicker = true};
await Launcher.LaunchFileAsync(filerun, options);
它将打开一个应用程序列表供您选择,因此您可以检查文件扩展名实际上是.txt或.xls / .xlsx(Excel)。
根据documentation,Windows Phone 8.1上可以使用此重载。但我还没有升级到8.1,所以我不能给你一个应用程序选择器的截图。
来自网络的屏幕截图。希望这会有所帮助。