如何避免按后退按钮/键返回登录布局?

2024-06-25

我想为我的研究所创建一个应用程序。

问题是:我的应用程序将有两种布局(登录和仪表板)。

学生可以正确填写登录表单、进入仪表板、按下按钮以及填写其他字段。但是,如果用户随后按下后退按钮,则不应返回到登录屏幕,而应保留在仪表板中,或者如果失败,则退出应用程序。

然后,如果学生重新打开应用程序并且已经记录,他应该自动重定向到仪表板,而不是登录屏幕,除非用户按下仪表板上的注销按钮,然后将他重定向回登录屏幕。

你怎么能做到这一点?

Edit: 我实现了 2 个意图和 2 个活动,我出现的新问题是,当我按下主页按钮并从任务管理器打开应用程序时,在剩下的活动中打开,但如果从图标打开再次打开应用程序从第一个活动开始,就像在最后一个活动中打开一样吗?


我已经使用实现了类似的东西SharedPreferences。我这样做了:

LoginActivity

SharedPreferences settings;
public void onCreate(Bundle b) {
    super.onCreate(b);
    settings = getSharedPreferences("mySharedPref", 0);
    if (settings.getBoolean("connected", false)) {
        /* The user has already login, so start the dashboard */
        startActivity(new Intent(getApplicationContext(), DashBoardActivity.class));
    }
    /* Put here the login UI */
 }
 ...
 public void doLogin() {
    /* ... check credentials and another stuff ... */
    SharedPreferences.Editor editor = settings.edit();
    editor.putBoolean("connected", true);
    editor.commit();
 }

In your DashBoardActivity覆盖onBackPressed方法。这将带你从DashBoardActivity到您的主屏幕。

@Override
public void onBackPressed() {
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
}  

希望能帮助到你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免按后退按钮/键返回登录布局? 的相关文章

  • ASIHTTPRequest 登录页面

    我尝试制作一个 iPhone 应用程序 可以登录到使用 https 保护用户信息的 Web 应用程序 现在我陷入了登录页面 我不知道通过我的应用程序登录时如何检查用户网站中的真实帐户 即使我输入错误的帐户 我也只收到 200 的回复 这是我
  • SDKmanager:警告:无法创建设置。 java.lang.IllegalArgumentException

    我尝试在 Ubuntu 上安装 androidSDK 但是当我尝试在 tools bin sdkmanager 文件夹上运行 SDK 管理器时 我收到以下消息 我的 Ubuntu 最近安装了 除了 Java 8 和 Android Stud
  • 在注销之前和管理员登录之后设置cookie

    嗨 我是 WordPress 新手 我对此进行了很多研究 但没有成功 我想在注销之前设置 cookie 值 NULL 并在管理员登录后设置自定义值 所以我将下面的代码放在 wp includes puggable php gt 函数 wp
  • 如何为不同的gradle buildTypes提供不同的Android应用程序图标?

    我的 gradle 文件中设置了两种构建类型 debug and release 我希望能够为debug构建类型 有没有办法只通过构建类型来实现这一点 而无需考虑产品风格 build gradle 文件如下 apply plugin and
  • GridView 的行中列宽不同

    我有一个 GridView 需要在其中显示图像 我应用了以下逻辑 If 1 Photo 1 row and 1 col and full width image If 2 Photos 1 row and 2 cols with equal
  • MPAndroidChart - 饼图的所有部分都是相同的颜色

    我正在使用 MPAndroidChart https github com PhilJay MPAndroidChart https github com PhilJay MPAndroidChart 库来生成饼图 我遵循了多个教程 包括
  • FragmentStatePagerAdapter 与 ChildFragmentManager - FragmentManagerImpl.getFragment 导致 NullPointerException

    EDIT 2 我现在成功地使用这里的技巧摆脱了错误https code google com p android issues detail id 42601 c10 https code google com p android issu
  • 覆盖服务 - 按下返回按钮

    我怎样才能做到这一点 目前的解决方案 我启动了一个透明的活动 捕获后按 将其转发到我的服务 然后自行关闭 但此活动将在当前正在运行的活动中可见 因此这不是一个非常漂亮的解决方案 看到的解决方案 我见过一个应用程序确实可以捕获服务中的后按 而
  • Android 应用程序用户尝试更新时收到“应用程序未安装”消息

    UPDATE 对于那些询问用户收到哪些错误代码的人 没有错误代码 它只是打开一个空白的安装后页面 上面写着 该应用程序未安装 旁边有一个大 X 不同版本的 Android 可能有不同的消息 没有任何迹象表明安装过程中出了什么问题 更新2 一
  • Android 如何知道手电筒是否打开

    我正在使用 CameraManager 和 CameraCharacteristics 我想知道如何检查手电筒是否打开 试试这段代码 public boolean FlashStatus Camera Parameters paramete
  • 从视频文件中提取音频的问题(android)

    我需要将 mp4 或任何其他视频格式 转换为 mp3 或 wav 文件 我正在使用 C Xamarin Forms 我使用的任何库要么不适合我 要么与 android 不兼容 我尝试过使用 Xamarin Android FFMpeg 和
  • 如何在单击时使图像抖动/摆动?

    我有一个图像按钮 我想在触摸它时摇动 摆动 我希望它能够像 iPhone 应用程序图标在被长时间按下时那样摆动 Thanks 尝试使用这个
  • 将 Dagger 与 Espresso 一起使用

    我计划在我的应用程序多模块上创建 Espresso 测试 并且我即将创建第一个 Espresso 测试 但我看到的是 在我的应用程序上我没有AppComponent我可以在哪里伪造它 由于我想在我的功能模块上添加测试 我将创建TestApp
  • 面临 process.start(); 的问题在 Android 棒棒糖中

    面临一个问题process start 在 Android 棒棒糖中 我在服务中遇到了 android lollipop 后台进程的问题 我的代码在 KitKat 之前工作正常 我有一个ProcessBuilder pBuilder并向其中
  • 让 DrawerLayout 在 ActionBar 上滑动

    我在活动中有一个滑动抽屉菜单 其中有一个带有一些选项卡的操作栏 我想让滑动抽屉滑过标签 而不是滑过标签下方 这就是现在的样子 关于如何做到这一点有什么想法吗 注意 我知道我可能会在这里打破一些约定和 UI 模式 如果它根本不起作用 我会考虑
  • Android Studio - 程序类型已存在:com.google.android.gms.internal.measurement.zzwp

    昨天 我的应用程序运行良好 今天 不知道为什么 重新打开Android Studio后 应用程序就无法编译了 显示的错误是 Program type already present com google android gms intern
  • 如何为Android编译最新的FFmpeg库?

    努力将当前 FFmpeg 的工作和一般最佳实践构建在一起 似乎没有最新的文档或教程 现有的内容充满了过时的链接或不起作用的构建脚本 构建独立的 NDK 工具链 下载最新的NDK并运行make standalone toolchain py
  • 将文本文件写入 SD 卡失败

    我遇到了一个奇怪的问题 我的应用程序可以将一个简单的文本文件写入 SD 卡 有时它对某些人有效 但对其他人无效 我不知道为什么 对于某些人来说 如果他们输入一些字符 例如 在文件等中 我似乎无法重现它 因为我没有遇到任何麻烦 但这是处理文件
  • 设置android中按钮的透明度

    我想在android中制作具有不同透明度级别的按钮 我使用过 android color transparent 但它使按钮 100 透明 我需要一个 70 透明的按钮 这是我正在处理的 XML 代码
  • 如何将 Three.js 代码实施到 Android 移动应用程序中?

    我用 HTML CSS 和 JS 编写了 Three js 场景的代码 显示 3D 头部模型及其上的标记 它适用于我的 Angular 项目 我还可以通过将 HTML 代码添加到 Web 视图中 使其在适用于 Android 和 iOS 的

随机推荐

  • 当给定部分限定类型名称时,Type.GetType 如何工作?

    在很多地方我都遇到过以下形式的部分限定类型名称FullTypeName AssemblyName 即像Type AssemblyQualifiedName仅没有版本 区域性和 publicKeyToken 限定符 我的问题是如何将其转换为相
  • 有效地选择与 Pandas DataFrame 中的多个值之一匹配的行[重复]

    这个问题在这里已经有答案了 Problem 给定 Pandas DataFrame 中的数据 如下所示 Name Amount Alice 100 Bob 50 Charlie 200 Alice 30 Charlie 10 我想选择所有行
  • MS SQL 2005 备份能否恢复到 MS SQL 2008 实例上?

    是否可以将 SQL Server 2005 数据库的备份恢复到 SQL Server 2008 的实例上 我需要重建一台服务器 因为它变得相当糟糕 所以我计划借此机会升级到 SQL 2008 并想知道我是否能够正常恢复我的备份 从 2005
  • 如何在命令提示符中仅显示具有备用数据流的文件

    我知道要在命令提示符中显示所有文件 如果有 的备用数据流 这是命令dir R 但是 如果我只想显示具有备用数据流的文件 该怎么办 dir s r findstr e DATA or dir r findstr e DATA 第一个将在所有子
  • 使 django 中的内联表单集成为必需

    我是 django 的新手 到目前为止 我使用的是 symfony PHP 框架 我的问题是这样的 我有一个模型事件和模型日期 日期有一个事件的外键 因此事件可以 或应该 有一个或多个日期 现在我想要一个表单来创建事件 并且该表单应包含一个
  • 将 Linq 表达式转换为 SQL Server 查询

    我正在使用一些 crm 框架 该框架没有任何内部 orm 并且不使用实体框架 仅使用纯 sql 查询 我在数据库中的每个表都有实体 所以我有例如 public class Customer public string FirstName g
  • 分支和文件夹的 gitolite 权限

    在 gitolite 我想要 developers能够推送到除以下之外的任何分支master I want user1能够推送到任何分支 包括master 除了不是某个目录master 我该怎么做呢 这应该解决以下两个问题 repo are
  • 为什么Java中没有多重继承,但允许实现多个接口?

    Java 不允许多重继承 但它允许实现多个接口 为什么 因为接口只指定what班级正在做 而不是how它正在这样做 多重继承的问题是两个类可能定义不同的方式做同样的事情 并且子类无法选择选择哪一个
  • C++ 类型特征

    我知道它们对有关您实例化它们的类型的信息进行编码 但是它们是如何工作的 比如说 类型特征std is class 它是如何工作的 所有的实现看起来都像是空的结构 我必须承认我正在摸不着头脑 这些名字看起来足够具有描述性 所以我能理解它们的意
  • 将textView和图像对齐在同一行JAVA [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我创建了Food使用下面的代码选项卡 JTabbedPane tabbedPane new JTabbedPane JT
  • 为什么带有 unsigned long long 参数的 std::bitset 构造函数未标记为显式?

    标准库类模板std bitset
  • 如何在 Watson Assistant 上切换技能?

    目前 在 IBM Watson Assistant 中 您只能向助理分配一项技能 如何以编程方式交换助手的主要技能 未来的计划是让 Assistant 支持多种技能以及自定义技能 暂时作为数据 henrik https stackoverf
  • 基于两列值的VLOOKUP

    我有一个表 其中一列包含用户 ID 这些被多次输入以显示特定主题的结果 ID Topic Pass Fail 71086686 Science P 71086686 Maths P 71086686 Tech P 71086686 ICT
  • 为什么不使用 sshrc 中设置的 $PATH?

    我正在尝试在 OS X 服务器上通过 ssh 设置 svn 为了做到这一点 我读到我需要一个包装器来设置 umask 并 在我的例子中 设置存储库根 一种快速而肮脏的方法是重命名 usr bin svnserve并将包装器脚本放置在该位置
  • 将跨度值存储到 JavaScript 变量中

    我正在尝试编写 javascript 它将遍历一个跨度 获取其值 并将其存储在可用于执行算术的变量中 span class ServerData 30 span span class ServerData 6 span 关于以上两行 我的功
  • 如何删除Postman中的会话cookie?

    我正在 Postman 中测试我的 API 但在模拟时遇到问题log out If I do a call to delete the session cookie the session cookie is still there aft
  • 如何在 mongodb 中对数组进行 AND 查询?

    我有一个带有标签的数组 它是文档的一部分 例如 红 绿 蓝 白 黑 现在我想找到所有有红色和蓝色的文档 使用 all 条件查找同时匹配 红色 和 蓝色 条件的记录 db my collection find tags all red blu
  • 公共还是私人?

    我真的不明白为什么将成员变量和成员函数设为私有通常是一种好的做法 是为了防止人们搞砸事情 更多的是为了组织工具吗 基本上 是的 这是为了防止人们搞砸事情 封装 信息隐藏 是您正在寻找的术语 通过仅向外界发布最少的信息 您可以根据需要自由地更
  • 角度2:语法错误:意外的标记<(...)

    我知道 这个问题已经被问过 但我找不到适合我的特定情况的解决方案 我无法理解错误的真正原因 我有一个运行良好的 angularjs2 应用程序 现在我想导入marked图书馆 我做了什么 npm install marked tsd ins
  • 如何避免按后退按钮/键返回登录布局?

    我想为我的研究所创建一个应用程序 问题是 我的应用程序将有两种布局 登录和仪表板 学生可以正确填写登录表单 进入仪表板 按下按钮以及填写其他字段 但是 如果用户随后按下后退按钮 则不应返回到登录屏幕 而应保留在仪表板中 或者如果失败 则退出