我有一个Gluon Mobile(Glisten Afterburner)应用程序,并且想要阻止用户按下Android中的后退按钮进入应用程序的登录屏幕。
对于Android本机代码中的特定活动,有多种方法可以执行此操作。我如何在Gluon中实现它。
答案 0 :(得分:1)
虽然@ Bek的答案将适用于纯Android方法,但使用Gluon Views和Glisten-Afterburner框架,有一种等效方式:
使用该模板创建项目时,有两个视图,使用一些标记定义,如AppViewManager
中所示:
public static final AppView PRIMARY_VIEW = view("Primary", PrimaryPresenter.class, MaterialDesignIcon.HOME,
SHOW_IN_DRAWER, HOME_VIEW, SKIP_VIEW_STACK);
public static final AppView SECONDARY_VIEW = view("Secondary", SecondaryPresenter.class, MaterialDesignIcon.DASHBOARD,
SHOW_IN_DRAWER);
应用于每个视图的标志是自解释的,但是如果你还记得,有一个SKIP_VIEW_STACK
标志,应用于主视图(主视图):这意味着主视图没有被添加到堆栈,当你回击它时,你不会转到之前的其他视图,你将完成该应用程序。
您也可以将此标记应用于辅助视图,这意味着一旦从主视图移动到辅助视图,您将无法再次返回主视图。 / p>
所以我重新命名了视图,第一个是登录视图,当您转到主视图时,您无法通过后退按钮返回到该视图:
public static final AppView LOGIN_VIEW = view("Login", LoginPresenter.class, MaterialDesignIcon.HOME,
SHOW_IN_DRAWER, HOME_VIEW, SKIP_VIEW_STACK);
public static final AppView PRIMARY_VIEW = view("Primary", PrimaryPresenter.class, MaterialDesignIcon.DASHBOARD,
SHOW_IN_DRAWER, SKIP_VIEW_STACK);
在以后的状态下,如果需要,您可以随时以编程方式转到登录视图。