Facebook 首次启动应用程序时显示登录页面

Facebook 首次启动应用程序时显示登录页面,facebook,windows-phone-7,view,Facebook,Windows Phone 7,View,我正在开发一个使用Facebook API的小应用程序。我想做的是在应用程序第一次启动时(或者只要用户未通过身份验证)显示我的登录/连接到Facebook页面 我的主视图实际上是一个pivot应用程序,但我不想显示,只要我没有Facebook访问令牌。我还希望能够从应用程序栏访问此“登录”页面(它将与设置页面相同) 你知道我该怎么做吗?我相信你有两个选择: 显示您的主视图,然后在“已加载”处理程序中,检查用户以前是否登录。如果用户以前没有登录,则切换到登录页面。缺点是,在切换到登录页面之前,您的

我正在开发一个使用Facebook API的小应用程序。我想做的是在应用程序第一次启动时(或者只要用户未通过身份验证)显示我的登录/连接到Facebook页面

我的主视图实际上是一个pivot应用程序,但我不想显示,只要我没有Facebook访问令牌。我还希望能够从应用程序栏访问此“登录”页面(它将与设置页面相同)


你知道我该怎么做吗?

我相信你有两个选择:

  • 显示您的主视图,然后在“已加载”处理程序中,检查用户以前是否登录。如果用户以前没有登录,则切换到登录页面。缺点是,在切换到登录页面之前,您的主视图会显示一秒钟。您可以显示“检查登录”字幕或其他内容

  • 将启动页面设置为一个简单的“加载…”页面。在此页面的“加载”处理程序中,检查用户是否登录,然后切换到相应的页面。缺点是加载的页面将始终显示一秒钟


  • 我在一个商业应用程序中使用了第一种方法,看起来还不错。

    我建议使用自定义UriMapper。这样,您就不必担心主页导航到登录页面,然后还要管理导航堆栈

    您可以阅读有关此方法的详细信息

    要完成此操作,请修改WMAppManifest中的DefaultTask元素以导航到假页面

    <DefaultTask Name="_default" NavigationPage="LaunchPage.xaml" /> 
    
    最后,在应用程序启动事件中为应用程序设置映射器

    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        RootFrame.UriMapper = new LoginUriMapper();
    
        // You should also handle logging in if you already have info
        // Determine for yourself how to store login info, AppSettings (IsoStore) is a good choice)
        if (NeedsLoginInfo == false)
        {
             LoginObject.Login();
        }
    }
    
    如果应用程序被删除,则在应用程序激活事件中

    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        if (e.IsApplicationInstancePreserved == false)
        {
            RootFrame.UriMapper = new LoginUriMapper();
        }
    }
    

    太棒了。我不知道这个方法。谢谢你提供的信息。请查看我关于应用程序激活事件的其他信息
    private void Application_Activated(object sender, ActivatedEventArgs e)
    {
        if (e.IsApplicationInstancePreserved == false)
        {
            RootFrame.UriMapper = new LoginUriMapper();
        }
    }