我有一个WP8音乐应用程序,用户可以通过他的手机号码或他/她的电子邮件地址首次登录。
我不希望用户在登录时再次输入登录详细信息。
如果用户已在该设备中登录,我需要让用户直接导航到应用程序的主页?
主页的意思是,我想在splash screen
出现后立即转到主页面?我该如何操纵splash screen
?我的意思是如果用户第一次运行应用程序我应该将他带到注册页面,如果用户已经登录,则应直接进入应用程序的主页面。
提前致谢。
答案 0 :(得分:3)
我们可以通过以下步骤完成此操作:
1.当用户第一次登录时,您在IsolatedStorage中保存userInfo 。
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_Navigating就在这里,当应用启动时,它将导航到 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);
});
}
}
}