winappdeploycmd 启动通用 windows 应用程序

winappdeploycmd launch universal windows app

我需要启动带有参数的 Universal windows phone。 就像 android 有 extra 和 bundle 问题,所以我需要知道应用程序启动时传递的参数。 我使用此命令通过 AppDeployCmd 启动它,它完美启动:

"C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.1\Tools\AppDeploy\AppDeployCmd.exe" /launch 739e1fa5-2fa4-4ea6-a66e-b1674c6eccfa /targetdevice:0 /

但是我怎样才能将 args 传递给应用程序?这可能吗?

使用AppDeployCmd.exe无法向应用程序传递参数。正如您在 Deploy Windows Phone 8.1 apps with the Application Deployment tool 中看到的那样:

AppDeployCmd.exe has the following syntax:

AppDeployCmd.exe <cmd[:param]> <product-id/app filename> <targetdevice[:param]>

命令中不支持参数。而AppDeployCmd.exe更多的是用于部署应用而不是启动它。

如果您想将参数传递给应用程序,您可以尝试 Launch the default app for a URI. Launcher class has a Launcher.LaunchUriAsync(Uri, LauncherOptions, ValueSet) method. You can ues this method to pass args. Or if your parameter is very simple such as just a string, then you can put this string in the URI, like in the official Association launching sample 使用 alsdkcs://hello

接收参数可以参考GitHub中的Handle URI activation and use ProtocolActivatedEventArgs class to get the parameters. Also you can refer to the Association launching sample