所以我从UWP商店应用程序打开一个独立的Unity应用程序。在我的UWP应用程序中,我使用unity 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之间有什么区别?
Application.OpenURL在默认浏览器中打开一个URL,而Launcher.LaunchUri启动与指定URI关联的默认应用程序。
不,从UWP应用程序,你只是无法查询系统是否注册了URI,没有这样的API。
如果没有启动应用程序,LaunchUri只返回false,但此时已经提示错误对话框,因此检查LaunchUri的返回值也不是解决方案。