【发布时间】: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