当“应用程序”在后台运行时,您真的不想注销用户,当用户切换到另一个选项卡或暂时最小化其浏览器窗口时,您不仅要注销Web应用程序的用户.如果您要在Web应用程序中执行上述任一操作,您的用户会认为您的Web应用程序是史诗般的失败.同样,如果用户拨打的电话号码错误,或者闹钟响起,如果他们必须立即返回并在5秒前使用您的应用时登录,他们会对您感到非常恼火. .在这里,“烦躁”,我指的是市场上的一星评级和讨厌的评论.

Web应用程序自动注销基于不活动,使用服务器会话cookie.

同样,当我构建一个安全的Android应用程序时,我将实现一个基于非活动的机制,可能是这样的:

步骤#1:使用静态单例实例创建一个Session类. Session对象包含最后访问的时间戳.

步骤2:在每个活动的onResume()中,查看Session单例是否存在.如果没有,这是一个全新的过程,因此如果这不是身份验证活动,请立即执行startActivity()以启动身份验证活动.

步骤#3:返回每个活动的onResume(),如果Session对象存在,则调用extend()之类的东西.这将返回一个布尔值,true表示会话仍然良好(并且时间戳已更新到现在),否则为false.如果返回false,则执行与Session对象为null相同的操作.

步骤#4:成功时,您的身份验证活动会使用当前时间戳设置单例Session对象.

步骤#5:您的会话类’extend()方法是您确定会话是否太旧的地方.

无论用户如何进入您的应用程序,如果会话太旧(或者它是一个全新的流程),他们将被迫进行身份验证.然而,如果用户短暂中断 – 您和/或用户可以“简要”定义 – 他们不必重新进行身份验证.

android怎么判断程序进入了后台,Android检测应用程序是否进入后台相关推荐

  1. android怎么判断当前网络是否可用,Android 判断当前网络是否可用简单实例

    Android 判断当前网络是否可用简单实例 用户手机当前网络可用:WIFI.2G/3G网络,用户打开与不打开网络,和是否可以用是两码事.可以使用指的是:用户打开网络了并且可以连上互联网进行上网. 首 ...

  2. android正则判断两个符号之间,Android字母、数字、字符任意两种组合正则验证

    释放双眼,带上耳机,听听看~! 最近朋友有个用户名验证,要求字母.数字.字符任意两种组合即可,让我帮写个正则验证,现在正则验证如下: /** * 判断是否匹配正则 * * @param regex 正 ...

  3. HALCON示例程序measure_circuit_width_lines_gauss.hdev电路板线宽检测

    HALCON示例程序measure_circuit_width_lines_gauss.hdev电路板线宽检测 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () dev_ ...

  4. HALCON示例程序measure_chip.hdev芯片封装检测

    HALCON示例程序measure_chip.hdev芯片封装检测 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () read_image (Image, 'die_on ...

  5. android怎么判断程序进入了后台,Android 判断App是否进入后台

    原理 AndroidSDK14在Application类里增加了ActivityLifecycleCallbacks,我们可以通过这个Callback拿到App所有Activity的生命周期回调. 知 ...

  6. android判断是否已经安装成功,android 判断应用程序是否已安装

    1.判断是否安装 /* * check the app is installed */ private boolean isAppInstalled(Context context,String pa ...

  7. android app应用后台休眠,安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行...

    原标题:安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行 安卓手机锁屏后,很多程序就会自动关闭,实际上,这是安卓手机的一种保护机制.为了使系统能够流畅稳定的运行以及更加省电,它都会在手机 ...

  8. android检测代码是否执行,Android如何判断一个应用在运行

    在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就是管理A ...

  9. Android 如何判断一个应用在运行(转)

    Android 如何判断一个应用在运行  在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManag ...

  10. Android 如何判断一个应用在运行

    在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就是管理A ...

最新文章

  1. unity 摄像头跟着鼠标移动_Unity新手入门:摄像机随玩家一起移动
  2. 记boost在gcc的一个库链接问题generic_category()
  3. 蓝牙4.0BLE抓包(二) – 广播包解析
  4. 【数据结构与算法】之深入解析“通配符匹配”的求解思路与算法示例
  5. 从零写一个编译器(九):语义分析之构造抽象语法树(AST)
  6. 在JDT中使用Java 8 Lambda
  7. 基于TCP协议的网络程序(基础学习)
  8. 华为Mate40系列安兔兔跑分曝光:麒麟9000性能超骁龙865
  9. 创建向导时为其添加path,指为jar添加到path里面
  10. PyQt 5信号与槽的几种高级玩法
  11. acer软件保护卡怎么解除_Acer软件保护卡下载
  12. xshell 登陆日志_学习关于xshell查看日志
  13. 常见开源代码扫描检测技术分析
  14. 书摘—20几岁不学应酬,30几岁只能发愁
  15. linux服务器console口,Linux重定向console口控制台
  16. 服务器系统没法设置分辨率,windows系统分辨率改不了的原因分析及多种解决方法...
  17. 西瓜书习题 - 8.集成学习
  18. 联想涉密专用计算机 字体,Lenovo出厂高分屏笔记本高分辨率下字体模糊的解决方法...
  19. Unity项目总结(已完成17项,持续更新ing,含商城、塔防、背包、动画、坦克大战等)
  20. 有趣好玩实用的网站 保证闻所未闻

热门文章

  1. Oracle技术之Data Pump介绍
  2. C#读取Adams的Shell文件(*.shl)
  3. 总结Servlet体系接口和类
  4. 学会用core dump调试程序错误(转)
  5. Oracle10g OEM乱码解决
  6. golang 获取 命令行参数
  7. docker strace ptrace 报错 Operation not permitted 解决方法
  8. linux c 命令行解析函数 getopt getopt_long
  9. 高效的密码攻击方法:彩虹表
  10. Jenkins简介安装使用