为了测试这一点,我创建了另一个简单的应用程序来启动带有点击事件的原始应用程序
private async void Button_Click(object sender, RoutedEventArgs e)
{
await Windows.System.Launcher.LaunchUriAsync(new System.Uri("startbackgroundwallpaper:"));
}
在原始应用程序中,我有UriSchemeMapper
课
namespace StartBackgroundWallpaper
{
class UriSchemeMapper : UriMapperBase
{
private string tempUri;
public override Uri MapUri(Uri uri)
{
tempUri = System.Net.HttpUtility.UrlDecode(uri.ToString());
// no parameters, desired launch to MainPage. no further code here.
return uri;
}
}
}
在原始应用程序的InitializePhoneApplication()
方法中,我有App.xaml.cs
RootFrame.Navigated += CompleteInitializePhoneApplication;
//Handle custom uri scheme
RootFrame.UriMapper = new UriSchemeMapper();
现在,如果未安装原始应用程序,则Button_Click
在简单应用程序中引发 时,它会正确列在搜索结果中。但是安装后,loading...
屏幕显示,但应用程序从未加载。
在应用程序WMAppManifest.xml
中,我还添加了
<Extensions>
<Protocol Name="startbackgroundwallpaper" NavUriFragment="encodedLaunchUri=%s" TaskID="_default" />
</Extensions>
我错过了什么?