当用户在我的应用程序中选择“视频呼叫”选项时,我需要打开一个外部应用程序(用于Telepresence的Cisco Jabber视频)。
我发现在通用应用程序中无法打开可执行文件的位置.
我还发现,当应用程序与任何URI方案没有关联时,我无法打开它.
有什么办法我能做到吗?
发布于 2015-09-01 13:38:15
由于微软的MVA,我们收到了一些选项(你只需把它们摆弄出来):
解决方案1(由推荐)
如果要启动特定应用程序,则必须创建URI方案注册,只有要启动的特定应用程序才能处理该注册。使用Launcher,您可以调用仅由一个应用程序(例如my-cool-uri-scheme://start?param1=123¶m2=ABC)处理的指定URI。
注意:用户总是有最终的选择,用指定的URI启动应用程序(这就是微软推荐这种解决方案的原因)。
以下解决方案很可能只适用于企业环境!
(clean workaround): 解决方案2
您必须编写代理Windows应用程序。
此代理应用程序(与解决方案1中的类似)使用特定的文件扩展名注册自己。
然后从您的UWP应用程序中调用一个包含参数(例如C:/Users/CURRENTUSER/AppData/Roaming/YOURAPP/PARAM1/PARAM2/PARAM3/open.my-cool-extension)的虚构文件路径,或者调用包含参数的文件本身(例如XML或RESTful)。
然后,处理应用程序将使用这些信息来使用给定的参数启动特定的应用程序(使用Process.Start)。
(dirty workaround): 3解决方案
您必须编写一个观察Windows应用程序。此应用程序创建一个侦听特定文件夹的FileSystemWatcher。那么为什么这是肮脏的解决办法呢?因为你..。
FileSystemWatcher。https://stackoverflow.com/questions/32330805
复制相似问题