无需再次登录Windows Phone即可直接进入应用程序

本文关键字:可直接 应用程序 Phone Windows 登录 | 更新日期: 2023-09-27 18:08:31

我有一个WP8音乐应用程序,用户可以通过他的手机号码或他/她的电子邮件地址第一次登录。

我不希望用户在登录时再次输入登录详细信息。

我需要的是让用户直接导航到应用程序的主页,如果用户已经登录,在那个设备上?

我所说的主页是指,我想在splash screen出现后立即进入主页?如何控制splash screen ?我的意思是,如果用户是第一次运行应用程序,我应该带他到注册页面,如果用户已经登录应该直接进入应用程序的主页面。

提前感谢。

无需再次登录Windows Phone即可直接进入应用程序

我们可以这样做:

1。当用户第一次登录时,你应该保存userInfo在你的IsolatedStorage.

2。当用户再次启动应用程序时,您可以从IsolatedStorage获取userInfo,并检查userInfo是否存在。在App.xaml.cs中为RootFrame添加导航。

private void InitializePhoneApplication()
{
    if (phoneApplicationInitialized)
        return;
    RootFrame = new TransitionFrame();
    RootFrame.Navigated += CompleteInitializePhoneApplication;
    RootFrame.NavigationFailed += RootFrame_NavigationFailed;
    RootFrame.Navigating += new NavigatingCancelEventHandler(RootFrame_Navigating);//Add Navigating
    phoneApplicationInitialized = true;
}

和rootframe_navigation在这里,当应用程序启动时,它将导航到Login.xaml。我们应该使用userIsValid(检查用户是否有效)。如果有效,我们应该将导航改为MainPage(我们的主页):

void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
    if (e.Uri.ToString().Contains("Login.xaml"))
    {
       if (userIsValid)
       {
             e.Cancel = true; //cancel it.
             string uriString = "/MainPage.xaml";
             var ur = new Uri(uriString, UriKind.Relative);
             RootFrame.Dispatcher.BeginInvoke(delegate
             {
                 this.RootFrame.Navigate(ur);
             });
        }
    }
}