【问题标题】:winappdeploycmd launch universal windows appwinappdeploycmd 启动通用 Windows 应用程序
【发布时间】:2016-03-07 16:39:35
【问题描述】:

我需要使用参数启动我的 Universal windows phone。 就像 android 有额外和捆绑的问题,所以我需要知道应用程序启动时传递了什么参数。 我使用 AppDeployCmd 使用此命令启动它,它完美启动:

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

但是如何将 args 传递给应用程序?有可能吗?

【问题讨论】:

    标签: uwp win-universal-app args


    【解决方案1】:

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

    AppDeployCmd.exe 具有以下语法:

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

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

    如果您想将参数传递给应用程序,您可以尝试使用Launch the default app for a URILauncher 类有一个 Launcher.LaunchUriAsync(Uri, LauncherOptions, ValueSet) 方法。您可以使用此方法传递参数。或者如果你的参数很简单,比如只是一个字符串,那么你可以把这个字符串放在URI中,就像在官方Association launching sample中使用alsdkcs://hello一样。

    接收参数可以参考Handle URI activation,使用ProtocolActivatedEventArgs类获取参数。也可以参考GitHub中的Association launching sample

    【讨论】:

    • 如果我想从电脑而不是应用程序代码启动应用程序?
    • @ZachBublil:不幸的是,AFAIK 我们无法在没有代码的情况下启动 Windows Phone 应用程序并将参数从 PC 传递给它。但我们可以在 Windows Phone 设备或模拟器中启动应用程序,而不是从应用程序的代码。为此,我们可以使用 Microsoft Edge 并在其地址栏中键入 URI。例如,当我们在 Edge 的地址栏中输入alsdkcs://hello 并回车时,将打开关联启动示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多