古老的 Win32 应用启动其他程序太过方便,以至于一部分开发者都已经不记得 Windows 能通过关联协议的方式通过统一资源定位符(URI)来启动应用程序了。
转到 UWP 后,使用 URI 启动应用似乎成为了最推荐的方式。于是一句 LaunchUriAsync
就能解决大多数问题。
常用的 Windows 10 内置协议
URI 协议 | 启动 |
---|---|
http: | 默认网页浏览器 |
mailto: | 默认电子邮件 |
ms-settings: | 设置 |
ms-store: | 应用商店 |
于是,只要 URI 带这些协议头,就能够用表格中的那些应用打开相应的功能了。
如果想知道 ms-settings
里有哪些可用,请参见:启动 Windows 设置应用 - UWP app developer;想知道 ms-store
可以如何帮助我们前往商店的具体页面,请参见:启动 Windows 应用商店应用 - UWP app developer。
LaunchUriAsync
要想简单地在代码中使用,一句足以:
await Launcher.LaunchUriAsync(new Uri(@"http://blog.csdn.net/WPwalter/article/details/78081272"));
如果你希望在调用成功或失败后执行一些操作,则可以多写一些:
var myblog = new Uri(@"http://blog.csdn.net/WPwalter/");
var success = await Launcher.LaunchUriAsync(myblog);
if (success)
{
// 如果你感兴趣,可以在成功启动后在这里执行一些操作。
}
else
{
// 如果你感兴趣,可以在这里处理启动失败的一些情况。
}
}
然而,UWP 还提供了更多的选项:LauncherOptions
。
LauncherOptions
在写以上代码时不难发现,L