3

Windows 8 平台是否有与 iOS 平台上的自定义 url 方案类似的东西?

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

在我的 iPad 应用程序中,用户会收到一封带有几个长键的电子邮件。用户单击 url,我的应用程序打开到正确的页面,其中填充了这些值。我错过了适用于 Windows 8 的类似功能吗?

4

2 回答 2

5

您正在寻找协议激活。

Package.appxmanifest您可以通过在Declarations选项卡上添加支持的协议来添加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();
    }
}

查看此页面以获取更详细的说明。

于 2013-02-11T06:09:36.613 回答
4

看看协议激活协会启动示例应该提供一个您可以根据自己的需要进行调整的示例。

例如,Bing Maps 应用程序有一个相当广泛的 URI 方案(当然,你不能看到他们是如何实现它的 :))

于 2013-02-11T06:22:16.383 回答