Перейдите непосредственно в приложение без повторного входа в Windows Phone?

У меня есть музыкальное приложение WP8, в котором пользователь может впервые войти в систему по номеру своего мобильного телефона или по адресу электронной почты.

Я не хочу, чтобы пользователь вводил данные для входа еще раз, когда он / она входит в систему.

Что мне нужно, чтобы позволить пользователю непосредственно перейти на домашнюю страницу приложения, если пользователь уже вошел в систему на этом устройстве?

Что я имел в виду под домашней страницей, я хотел перейти на главную страницу сразу после splash screen появляется? Как я могу манипулировать splash screen? Я имею в виду, что если пользователь запускает приложение в первый раз, я должен отвести его на страницу регистрации, если пользователь уже вошел в систему, следует перейти непосредственно на главную страницу приложения.

Заранее спасибо.

1 ответ

Решение

Мы можем сделать это с помощью этих шагов:

1.При первом входе в систему вы сохраняете userInfo в своем изолированном хранилище.

2. Когда пользователь снова запустит приложение, вы можете получить userInfo из IsolatedStorage и проверить, существует ли userInfo. Добавьте навигацию для RootFrame в App.xaml.cs.

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);
             });
        }
    }
}
Другие вопросы по тегам