检查自定义uri是否有效

时间:2019-03-14 10:21:01

标签: c# unity3d uwp uri

所以我要从UWP商店应用程序中打开一个独立的Unity应用程序。在我的UWP应用中,我使用统一的WSA类来启动我创建的自定义uri。 例: 在寄存器中,我创建了一个名为test的自定义uri: 在UWP app c#中,我使用:

string uri = @"test:";

    // Launch the URI
    Launcher.LaunchUri(uri, true);

这很好。该应用程序启动。但是,如果该应用程序不存在,它将弹出一个对话框,询问我要打开的应用程序。我可以在启动时也检查一下吗?因此,如果用户未安装该应用程序,我会给用户反馈吗?我几乎尝试了可用于Unity和uri等的每个类。它们都不满足我的需要。我对一些人寄予了厚望,但他们所做的只是告诉我我输入的URI是否是有效的uri格式,而不是检查它是否真的可以打开应用程序。

编辑:而且,Launcher.launchURI和Application.OpenURL之间有什么区别?

1 个答案:

答案 0 :(得分:1)

Application.OpenURL在默认浏览器中打开一个URL,而Launcher.LaunchUri启动与指定URI关联的默认应用。

不,从UWP应用中,您无法查询系统是否已注册URI,因此没有此类API。

如果没有启动任何应用程序,LaunchUri只会返回false,但是此时已经提示错误对话框,因此检查LaunchUri的返回值也不是解决方案。