UWP基础教程 - 使用协议来启动应用

如果你的应用程序希望能够通过外部协议来访问的话,那么就需要为你的应用添加protocol协议

1、打开Package.appxmanifest文件 在节点下添加节点,在节点下添加

<uap:Extension Category="windows.protocol" >
    <uap:Protocol Name="protocolexsample">
        <uap:Logo>Assets\StoreLogo.png</uap:Logo>
        <uap:DisplayName>Application</uap:DisplayName>
    </uap:Protocol>
</uap:Extension>

节点即可实现Protocol启动应用,这里需要注意的是Protocol的Name必需为小写

当然你也可以使用Visual Studio IDE进行添加,添加完成后外部就可以通过

protocolexsample://appdata

来访问应用了,系统会自动启动注册了protocolexsample协议的应用,如果你要在协议里添加参数,只要在App.xaml.cs文件中,重写OnActivate方法,通过Protocol协议启动的应用,ActivationKind问Protocol,可将args转换为ProtocolActivatedEventArgs来获取启动参数。

 protected async override void OnActivated(IActivatedEventArgs args)
        {
            base.OnActivated(args);
 
            switch (args.Kind)
            {
                case ActivationKind.VoiceCommand:
                    {
                        break;
                    }
                case ActivationKind.Protocol:
                    {
                        var command = args as ProtocolActivatedEventArgs;
                      
                        if (command.Uri.ToString().StartsWith("protocolexsample://"))
                        {
                            //TODO
                        }
    
                        break;
                    }
            }
        }

欢迎大家留言讨论。

Comment