【问题标题】:LaunchUriAsync() doesn't launch Windows Store AppLaunchUriAsync() 不启动 Windows 应用商店应用
【发布时间】:2013-02-27 14:03:31
【问题描述】:

我正在尝试通过 LaunchUriAsync() 在 OnShareTargetActivated() 方法上调用我的应用程序,但它不起作用。

我在 appmanifest 中有一个名为“myapp”的协议。当我将“myapp://test”放在文件资源管理器上时,我的应用程序会启动,但是当我这样做时:

protected async override void OnShareTargetActivated(ShareTargetActivatedEventArgs args)
{
   Uri uri = new Uri("myapp://test");
   await Windows.System.Launcher.LaunchUriAsync(uri);
}

当用户单击共享选项中 Charm Bar 上的我的应用程序时,会发生这种情况。但该应用程序从未启动。

【问题讨论】:

  • 你能澄清一下 - “不起作用”。所以我很清楚 - 另一个应用程序(不是你的)中的某个人调用了 Share,并选择了你的应用程序。然后你想立即启动一个不同的应用程序,一个带有 myapp:// 协议的应用程序?这看起来很奇怪,我明白为什么我们可能不会发生这种情况,但不确定它是否被严格禁止。
  • 用户可能是,例如照片应用程序,选择一些图像并选择我的应用程序以在魅力栏上共享。我想要做的是从字面上打开应用程序,就好像我点击了你的磁贴一样。
  • 您是否尝试在 UI 线程上调用启动?

标签: c# windows-8 microsoft-metro windows-store-apps


【解决方案1】:

分享应用示例 (http://code.msdn.microsoft.com/windowsapps/Sharing-Content-Target-App-e2689782)

你应该检查你所分享的内容的格式,metro 只接受某些类型的内容来分享,分享格式是 Text,uri,Bitmap,storageitems,Html

分享目标代码和图片(http://blogs.msdn.com/b/going_metro/archive/2012/05/03/integrating-with-windows-8-share-charm-part-1-receiving-data.aspx

如果你觉得有用,请采纳为答案

【讨论】:

  • 我知道使用共享目标。我需要在 Charm Bar 之外打开我的应用程序,就像我点击了你的 Tile 一样。我需要这样做,因为由于某种原因,Windows Store 应用程序无法通过 Charm Bar 中的 Wi-Fi Direct 连接两个设备。
  • 你可以在主程序中连接吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
  • 2013-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多