登录黑莓后,将用户返回上一屏幕

时间:2013-10-08 06:23:39

标签: blackberry login

在我的应用程序中有一些受保护的屏幕。这意味着用户在他/她登录之前无法看到这些屏幕。 我想知道如何在用户重定向到登录屏幕后登录用户到之前的屏幕。

在网站中,用户希望看到一些需要登录的页面,然后管理员会重定向到他的登录屏幕,当用户登录时,管理员会将他重定向到他重定向到登录页面的页面。

由于

1 个答案:

答案 0 :(得分:1)

为了澄清这一点,假设我们有一个LoginScreen,并且应用程序单独维护一个可以从任何地方进行测试的“登录”状态。

在BlackBerry Java中实现此目的的最简单方法是在进入需要登录审批的屏幕之前推送LoginScreen并检查结果。您将LoginScreen作为模式屏幕(使用pushModalScreen)推送,一旦完成,您再次检查登录状态。如果未登录,则不要按新屏幕。

一种更复杂的替代方案,但意味着您在屏幕内保持登录所需状态,使用框架调用的两种方法作为ui基础结构的一部分。第一个是

onUiEngineAttached(boolean attached)

您将此方法添加到需要用户登录的任何屏幕。如果在附加标志设置为true的情况下调用此方法,则需要检查用户是否已登录。如果用户未登录在,按下LoginScreen。

第二种方法是

onExposed()

每当屏幕暴露时都会调用它,这当然是在LoginScreen完成之后。在此方法中,您可以检查用户是否已登录 - 如果没有,则关闭屏幕。这假设您已经维护了屏幕堆栈,因此用户将返回到登录要求屏幕之前的屏幕。有关这些方法的更多信息,请参阅文档。

第三种选择实际上是方法1的变体。如果用户没有登录,你创建“登录屏幕”(SuccessScreen)无论如何都准备推送,然后你还创建一个LoginScreen,这是什么你要推。您传入LoginScreen,SuccessScreen(可能还有FailureScreen)。然后登录屏幕处理,如果登录确定,将弹出自己并按下应显示的SucessScreen屏幕。如果失败,它会自动弹出并按下FailureScreen故障屏幕。这可能是最灵活的方法。

您选择的是设计问题,而不是编码问题。我认为一切皆有可能,所有人都会做好。