在 Android 中创建和处理应用程序超时

2023-12-22

我想知道处理应用程序超时的最佳方法是什么,例如 PayPal。我希望用户选择 1、5 或 15 分钟的超时时间,这样当他们打开应用程序时,他们必须再次登录。

我的 onResume 方法:

@Override
    public void onResume() {

    } 

它里面什么也没有。但它崩溃了。

请注意:我的应用程序有两个活动。第一个活动是登录屏幕。第二个活动是主屏幕。 onResume 方法位于第二个 Activity 中。


我在我的一个应用程序中执行了此操作:

您需要一个基础 Activity,您的所有活动都将从该基础 Activity 扩展。在此基本活动中,添加一个变量来跟踪“上次用户活动”时间戳。就我而言,用户活动仅仅意味着他们触摸屏幕。因此,重写dispatchTouchEvent(MotionEvent ev)方法,并将“最后一个用户活动”设置为当前时间戳。

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    lastActivity = new Date().getTime();
    return super.dispatchTouchEvent(ev);
}

然后在此基本活动的 onResume() 方法中,只需将当前时间戳与“上次用户活动”时间戳进行比较。如果超过 1、5 或 15 分钟(可由用户配置),则启动另一个活动来要求用户登录。

@Override
public void onResume() {
    long now = new Date().getTime();
    if (now - lastActivity > xxxx) {
       // startActivity and force logon
    }
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 中创建和处理应用程序超时 的相关文章

随机推荐

  • HttpContext.Current 调用背后有多少计算量?

    是不是很贵 我正在开发一个直接渲染到 Response Output 的 HtmlHelper 以节省不必要的字符串创建 我需要在以下选项之间进行选择 and 并从 HttpContext Current Response 获取 textW
  • python GIL 的多线程示例

    我读过很多关于在编写多线程代码时 python GIL 业务有多么 糟糕 的文章 但我从未见过一个例子 有人可以给我一个基本的例子来说明 GIL 在使用线程时何时会导致问题吗 Thanks 多线程的主要原因之一是程序可以利用多个 CPU 和
  • Selenium webdriver python 无法上传文件 - send_keys 抛出 ElementNotInteractable

    所以我尝试使用 selenium webbrowser send keys 上传文件 但它不起作用 请帮忙 from selenium import webdriver import time driver webdriver Chrome
  • 使用 Python Selenium 保存网页

    我正在使用 Selenium Webdriver for Python 2 7 启动浏览器 browser webdriver Firefox 转到某个网址 browser get http www google com 此时 如何向浏览器
  • 如何在 zsh 中正确安装新的补全?

    整个问题已讨论完毕here https github com DannyBen alf issues 39 and here https github com nvm sh nvm issues 2489 由于参与这些讨论的人都没有 100
  • wxHaskell标签无法显示全文

    我正在 Windows XP 上使用 Hello World 测试 wxHaskell http www haskell org haskellwiki WxHaskell Quick start http www haskell org
  • jQuery、html5、append()/appendTo() 和 IE

    如何复制 创建一个 html5 页面 确保添加了来自 remysharp com 2009 01 07 html5 enabling script 的脚本 以便 IE 能够注意到这些标签 创建硬编码 section section tag
  • Bootstrap 4 个选项卡

    好的 我正在尝试使用 bootstrap 4 制作动态选项卡 如下所示 https codepen io jek pen BoWNRy 不是我写的 无论如何 我在本地粘贴此代码都不起作用 我显示了 3 个选项卡 但我只能在第一个选项卡中看到
  • 有没有办法在运行时修改Linux C程序中函数的代码?

    简单来说 我们有两个类似的函数 void f1 printf d 123 void f2 printf d 124 现在我们在main中调用f1 它会打印123 编译时 反汇编f1可能是这样的 08048424
  • Python 的日、月、年时间戳

    是否可以在 Python 中创建仅包含日期对象中的日 月和年的 UNIX 时间戳 秒数 我本质上是在寻找午夜时的时间戳 小时 分钟和秒为 0 Thanks gt gt gt import time gt gt gt import datet
  • Python for 循环中捕获异常

    我有以下 for 循环 for batch in loader do something with batch 从加载器中提取批处理时 我的循环有时会失败 我想做的是类似于下面的代码片段 但我希望能够继续循环下一个值 而不是跳过其余的值 e
  • LINQ to SQL - 没有可用的添加方法

    我创建了一个 LINQ to SQL 数据上下文 其中包含一个数据表 我试图简单地将一条新记录插入该表中 我遇到的问题是 LINQ 没有提供 Add 方法来传递新记录 我见过无数有 Add 方法的例子 但我似乎无法理解它 我完全错过了什么还
  • 当 Node 后端 (MongoDB) 中的状态发生变化时通知 Angular 前端

    当 MongoDB 中的状态发生变化时 我希望实时更新 Angular 前端 我的选择是什么 除了例如 还有其他方法吗 使用socket io 场景 用户创建提醒 设置电子邮件到达其邮箱的日期 现在 为了添加和删除提醒 我可以在前端模拟实时
  • Android EditText 空间验证

    我的 Android 应用程序中有一个 Edittext 我不想允许用户输入第一个空格字符 但是输入其他字符后用户也可以输入空格 I used
  • 告诉 Ctags 不要解析评论中的内容

    当我生成 ctags 文件时 它似乎也在解析注释中的内容 例如 使用 Vim 的插件 Tagbar 我可以在函数列表中看到不存在的函数 例如 is in just 这里发生的情况是 ctags 正在进入评论并发现以下内容 This func
  • 如何使用 CSS 使某个区域不可点击?

    假设我有包含一些链接和图像的包装 div 有什么方法可以仅使用 CSS 立即停用它吗 审查答案后 我放弃了只用 CSS 就能实现的想法 jQuery blockUI 插件就像魅力一样 有一个 CSS 规则 pointer events no
  • Laravel:如何从查询结果中获取模型?

    假设我有一个查询 除其他外 返回用户 ID 该查询是使用DB table 而不是使用模型 因此 我得到了一个集合 其中包含每个检索到的行的数组 如下所示 user id calculated data 1 123 2 111 3 222 假
  • 防止 lxml 在 ` 中转义 & 符号 ` 写入文件时

    我需要向现有 XML 元素添加一个属性 该属性必须包含 实体内的字符 例如 x0d 将修改后的 XML 写入文件时 变成 amp 从而摧毁该实体 import lxml etree as et e et Element a e set at
  • 基于公共密钥分析数据的简单方法

    处理映射到特定键的所有记录并输出该数据的多个记录的最简单方法是什么 例如 综合示例 假设我的密钥是日期 值是带有测量温度的当天时间戳 我想将一天内的温度分为高 平均 低 同样 低于 高于平均值 1 个标准偏差 输出将是具有新分类的原始温度
  • 在 Android 中创建和处理应用程序超时

    我想知道处理应用程序超时的最佳方法是什么 例如 PayPal 我希望用户选择 1 5 或 15 分钟的超时时间 这样当他们打开应用程序时 他们必须再次登录 我的 onResume 方法 Override public void onResu