C# 从其他metro应用程序Windows 8启动一个metro应用程序

C# 从其他metro应用程序Windows 8启动一个metro应用程序,c#,windows-8,microsoft-metro,C#,Windows 8,Microsoft Metro,我正在进行一个项目,在这个项目中,我必须将其他应用程序/游戏与我的平台集成。通过它我可以运行它们。所以他们的一个糟糕的测试解决方案是,我让他们硬编码地将它们集成到我的框架中,作为框架的一部分。但那是废话 所以,我的问题是,我可以从我的平台通过一些代码运行其他已安装的应用程序(这些应用程序将分别从应用商店下载),我知道数据可以从一个应用程序传输到其他应用程序 这就像当我点击Play App按钮时,一个已安装的应用程序将启动,我将一些设置传输到它,当用户完成该应用程序的播放后,一些数据将传输回我的平

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

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


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

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

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

  • 双击项目中的package.appxmanifest文件

  • 在“声明”选项卡中,从下拉列表中选择“协议”,然后单击“添加”

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

  • 保存这些更改

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

  • 转到App.xaml.cs文件
  • 重写OnActivated方法
  • 在以下内容中插入此代码:
  • 代码:


    注意:如果有帮助,请向上投票并接受它作为答案

    谢谢souvikcse,你能告诉我“你的应用程序URI”中应该设置什么吗。我制作了一个用于测试的示例应用程序,并希望在名称字段中设置其应用程序uri。我将从另一个测试应用程序启动此应用程序。例如,您的应用程序A具有uri“appauri”,现在您希望从另一个应用程序B打开它,因此您必须从应用程序B代码字符串anotherappURI=“appauri://”;Uri=新Uri(另一个应用Uri);wait Launcher.launchurisync(uri);谢谢,你能告诉我如何从当前发布的应用返回到以前的应用吗。这就是应用程序状态保持不变意味着我不想重新启动以前的应用程序。我还没有这样做,如果可能的话,我会在实现后通知你
     string anotherappURI = "anotherapp_uri_value:///?anyVariable=value";
     Uri uri = new Uri(anotherappURI);
     await Launcher.LaunchUriAsync(uri);
    
      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
      }
      }