我已经定义了一个自定义 URI 方案并将其添加到 App Manifest。
<Extensions>
<Protocol Name="mycustomuri" NavUriFragment="encodedLaunchUri=%s" TaskID="_default" />
</Extensions>
这会触发一个弹出窗口“接收内容 - 这将打开一个与 mycustomuri 关联的应用程序”。到目前为止一切正常,标签和 uri 玩得很好。但是,附加到每个标签上的 URI 的是一个唯一的 id。目的是,当检测到此自定义 URI 时,我的应用程序将打开,导航到“DetectTag.xaml”并将 ID 显示为 TextBlock。
这是我的协会 Uri Mapper 类。
class AssociationUriMapper : UriMapperBase
{
private string tempUri;
public override Uri MapUri(Uri uri)
{
tempUri = System.Net.HttpUtility.UrlDecode(uri.ToString());
// URI association launch for my app detected
if (tempUri.Contains("mycustomuri:uid"))
{
// Get the category (after "Category=").
int uidIndex = tempUri.IndexOf("uid");
string uid = tempUri.Substring(uidIndex);
// Redirect to the MainPage.xaml with the proper category to be displayed
return new Uri("/DetectTag.xaml" + uid, UriKind.Relative);
}
// Otherwise perform normal launch.
return uri;
}
谁能告诉我哪里出错了?当我点击标签并接受提示时,调试器会在 NavigationFailed 处中断。
谢谢你。