Я создаю схему Uri для своего приложения, следуя инструкциям здесь
Чтобы проверить это, я создал еще одно простое приложение для запуска исходного приложения с помощью события click.
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>
Что мне не хватает?