DisplayApplicationPicker 未显示打开提示
DisplayApplicationPicker not showing open with prompt
我正在创建一个 Xamarin Forms 应用程序(目前只有 UWP),我想在其中打开本地存储中的 PDF 文件。在 UWP 项目中,我收到来自 Xamarin 便携式项目的文件路径。我使用以下函数打开 Open With Prompt。
public void OpenFileWith(string path)
{
Task.Run(async () =>
{
var file = await StorageFile.GetFileFromPathAsync(path);
if (file != null)
{
var options = new LauncherOptions();
options.DisplayApplicationPicker = true;
var success = await Launcher.LaunchFileAsync(file, options);
if (success)
{
//File Launched
}
else
{
//File Launch Failed
}
}
});
}
我想我已经根据 Documentation 做对了所有事情。当我不添加 LauncherOptions 时,文件会在默认选择的应用程序中正确打开。
有什么我想念的吗?也许是权限?我知道文档中有注释 "This property is only implemented on Desktop devices."。我正在桌面上进行测试(Windows 10 通过 VMWare)
这应该有效:
public async Task OpenFileWithAsync(string path)
{
var file = await StorageFile.GetFileFromPathAsync(path);
if (file != null)
{
var options = new LauncherOptions();
options.DisplayApplicationPicker = true;
var success = await Launcher.LaunchFileAsync(file, options);
if (success)
{
//File Launched
}
else
{
//File Launch Failed
}
}
}
通话:
await OpenFileWithAsync(...);
我正在创建一个 Xamarin Forms 应用程序(目前只有 UWP),我想在其中打开本地存储中的 PDF 文件。在 UWP 项目中,我收到来自 Xamarin 便携式项目的文件路径。我使用以下函数打开 Open With Prompt。
public void OpenFileWith(string path)
{
Task.Run(async () =>
{
var file = await StorageFile.GetFileFromPathAsync(path);
if (file != null)
{
var options = new LauncherOptions();
options.DisplayApplicationPicker = true;
var success = await Launcher.LaunchFileAsync(file, options);
if (success)
{
//File Launched
}
else
{
//File Launch Failed
}
}
});
}
我想我已经根据 Documentation 做对了所有事情。当我不添加 LauncherOptions 时,文件会在默认选择的应用程序中正确打开。
有什么我想念的吗?也许是权限?我知道文档中有注释 "This property is only implemented on Desktop devices."。我正在桌面上进行测试(Windows 10 通过 VMWare)
这应该有效:
public async Task OpenFileWithAsync(string path)
{
var file = await StorageFile.GetFileFromPathAsync(path);
if (file != null)
{
var options = new LauncherOptions();
options.DisplayApplicationPicker = true;
var success = await Launcher.LaunchFileAsync(file, options);
if (success)
{
//File Launched
}
else
{
//File Launch Failed
}
}
}
通话:
await OpenFileWithAsync(...);