我正在尝试编写一个应用程序,该应用程序应在用户单击具有特定 url 的链接时自动启动(应该类似于“myscheme://myurl”)
我按照此链接上的说明进行操作 http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206987(v=vs.105).aspx 但是,它不起作用
这是我的代码的样子
在 WMAppManifest.xml 文件中,我在令牌之后添加了这个
<Extensions>
<Protocol Name="myscheme"
NavUriFragment="encodedLaunchUri=%s"
TaskID="_default" />
</Extensions>
然后我创建了一个名为 AssociationUriMapper.cs 的文件,其中包含
using System;
using System.Windows.Navigation;
namespace PhoneApp3
{
class AssociationUriMapper : UriMapperBase
{
private string tempUri;
public override Uri MapUri(Uri uri)
{
tempUri = System.Net.HttpUtility.UrlDecode(uri.ToString());
//URI association for my scheme
if (tempUri.Contains("myscheme:"))
{
return new Uri("/MainPage.xaml");
}
//else return
return uri;
}
}
}
然后在 App.xaml.cs 我在“rootframe.navigated”之后添加了这一行
// Assign the URI mapper to the frame
RootFrame.UriMapper = new AssociationUriMapper();
现在根据我对我从 msdn 中包含的链接的理解,如果我在 Windows Phone 模拟器中访问 Internet Explorer 并输入类似“myscheme://something”的任何内容,它应该会自动启动我的应用程序(即使应用程序什么也不做前提是我暂时无法真正使用该网址,我只想让它打开我的应用程序)
我现在真的不知道该怎么做,我发现其他一些教程解释了完全相同的事情,所以我不明白为什么我的代码不起作用......
(顺便说一句,如果我犯了语法或拼写错误,抱歉,英语不是我的母语)