【问题标题】:Launch One metro app from other Metro app Windows 8从其他 Metro 应用程序 Windows 8 启动一个 Metro 应用程序
【发布时间】:2014-07-05 17:39:46
【问题描述】:

我正在开展一个项目,我必须将其他应用程序/游戏与我的平台集成。通过它我可以运行它们。所以他们的一个糟糕的测试解决方案是我让他们硬编码地将它们集成到我的框架中作为框架的一部分。但那是废话。

所以,我的问题是我可以通过我平台上的一些代码运行其他已安装的应用程序(这些应用程序将单独从商店下载),并且我知道数据可以从一个应用程序传输到其他应用程序。

应该就像当我点击播放应用程序按钮时,一个已安装的应用程序将启动,我将一些设置传输给它,当用户完成播放该应用程序时,一些数据会传输回我的平台,我的平台恢复到相应的状态.

【问题讨论】:

    标签: c# windows-8 microsoft-metro


    【解决方案1】:

    要从您的应用程序中打开其他应用程序,您必须知道该应用程序的 uri,例如您想打开“另一个应用程序”

     string anotherappURI = "anotherapp_uri_value:///?anyVariable=value";
     Uri uri = new Uri(anotherappURI);
     await Launcher.LaunchUriAsync(uri);
    

    如果您想为您的应用创建一个 uri,以便可以从另一个应用打开它,请按照以下步骤操作

    1. 在项目中双击package.appxmanifest文件

    2. 在声明选项卡中,在下拉列表中选择“协议”并点击添加

    3. 输入“your_app_URI_displayname”作为显示名称,输入“your_app_URI”作为名称

    4. 保存这些更改

    现在激活后(当您的应用被调用并打开时)如何获得激活

    1. 转到 App.xaml.cs 文件
    2. 重写 OnActivated 方法
    3. 将这段代码插入到:

    代码:

      protected override void OnActivated(IActivatedEventArgs args)
      {
      if (args.Kind == ActivationKind.Protocol)
      {
      ProtocolActivatedEventArgs eventArgs = args as
      ProtocolActivatedEventArgs;
      // TODO: Handle URI activation
      // The received URI is eventArgs.Uri.AbsoluteUri
      }
      }
    

    注意:如果有帮助,请点赞并接受它作为答案

    【讨论】:

    • 谢谢 souvikcse,你能告诉我应该在“your_app_URI”中设置什么吗?我制作了一个用于测试的示例应用程序,并希望在名称字段中设置其 app_uri。我将从另一个测试应用程序启动它。
    • 例如,您的应用 A 的 uri "appauri" 现在您想从另一个应用 B 打开它,因此您必须从应用 B 代码字符串 anotherappURI = "appauri:///" 调用它; Uri uri = new Uri(anotherappURI);等待 Launcher.LaunchUriAsync(uri);
    • 谢谢,您能否告诉我如何从当前启动的应用程序返回到我以前的应用程序。并且应用程序状态保持不变意味着我不想重新启动以前的应用程序。
    • 我还没有这样做,如果可能的话,我会在实施后告诉你
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多