Windows phone 7 当用户首次使用windows应用程序时,必须打开特定页面

Windows phone 7 当用户首次使用windows应用程序时,必须打开特定页面,windows-phone-7,Windows Phone 7,我正在开发一个windows 7 phone应用程序,其中我希望在用户首次在其手机中使用应用程序时,显示一个特定页面以及用户需要接受的隐私策略。谁能告诉我怎么做。可以找到这个问题的可能答案。由于您希望您的页面只打开一次,因此,如果用户接受或不接受策略,我建议保存一个布尔值。此功能可采用两种方法。第一种方法是始终从隐私策略页面开始,但覆盖OnNavigatedTo方法以检查该策略之前是否已被接受。如果有,请导航到您的主页。在主页内,删除所有backstack条目 隐私政策页面 protected

我正在开发一个windows 7 phone应用程序,其中我希望在用户首次在其手机中使用应用程序时,显示一个特定页面以及用户需要接受的隐私策略。谁能告诉我怎么做。

可以找到这个问题的可能答案。由于您希望您的页面只打开一次,因此,如果用户接受或不接受策略,我建议保存一个布尔值。

此功能可采用两种方法。第一种方法是始终从隐私策略页面开始,但覆盖OnNavigatedTo方法以检查该策略之前是否已被接受。如果有,请导航到您的主页。在主页内,删除所有backstack条目

隐私政策页面

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    // have the accepted the policy?
    var settings = IsolatedStorageSettings.ApplicationSettings;
    bool accepted;
    if(settings.TryGetValue("PolicyAccepted", out accepted))
    {
        if (accepted)
        {
            NavigationService.Navigate(new Uri("MainPage.xaml", UriKind.Relative));
        }
    }
}

private void OnAcceptButtonClick(object sender, RoutedEventArgs routedEventArgs)
{
    var settings = IsolatedStorageSettings.ApplicationSettings;
    settings["PolicyAccepted"] = true;
    settings.Save();
    NavigationService.Navigate(new Uri("MainPage.xaml", UriKind.Relative));
}
然后在主页上,删除backbackback

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    while (NavigationService.CanGoBack) NavigationService.RemoveBackEntry();
}

第二种方法是使用本文所述的UriMapper。

感谢您的想法@ShawnKendrot。它工作得很好。再次执行应用程序是我第一次使用隐私政策。但这类似于在手机中再次安装应用程序。所以我们第一次得到了隐私政策。我的理解正确吗?使用这种方法,您应该只在第一次重新安装应用程序时获得策略页面。如果你想让它只询问一次,不管应用程序安装了多少次,你都需要将接受情况存储在服务器中