Windows 8的自定义URL方案

时间:2013-02-11 00:32:30

标签: windows-8 windows-runtime windows-store-apps windows-store

Windows 8平台上是否有类似iOS平台上的自定义网址方案?

我在MSDN上找到了关于应用程序URI方案的information。这不是答案。

在我的iPad应用中,用户会收到一封包含几个长按键的电子邮件。用户点击该网址,我的应用会打开到右侧页面并填充这些值。我错过了类似的Windows 8功能吗?

2 个答案:

答案 0 :(得分:5)

您正在寻找协议激活。

您可以通过添加Package.appxmanifestDeclarations标签上向Protocol添加支持的协议。这会将以下块添加到您的Package.appxmanifest文件中:

<Extensions>
  <Extension Category="windows.protocol">
    <Protocol Name="alrt" />
  </Extension>
</Extensions>

您需要通过覆盖App.xaml.cs来处理OnActivated中的协议激活:

protected override void OnActivated(IActivatedEventArgs args)
{
    base.OnActivated(args);

    if (args.Kind == ActivationKind.Protocol)
    {
        var protocolArgs = args as ProtocolActivatedEventArgs;

        var rootFrame = new Frame();
        rootFrame.Navigate(typeof(MainPage), protocolArgs.Uri.AbsoluteUri);
        Window.Current.Content = rootFrame;
        Window.Current.Activate();
    }
}

查看this page以获取更详细的说明。

答案 1 :(得分:4)

看看protocol activationAssociation launching sample应该提供一个示例,您可以根据自己的需要进行调整。

Bing Maps应用程序例如有一个fairly extensive URI scheme(当然不是你可以看到他们如何实现它)。)