Andriod一段时间未操作页面,系统自动登出
功能描述:
APP在公共的设备上运行,出于安全考虑,当登录的用户在超过一定时间内没有做任何操作,
则系统自动登出,用户如需重新操作APP,则需要重新登录 。
第一步:创建一个BaseActivity
/**
* 创建时间: 2019-02-26
* 创建人:陈松
* 说明:
*/
public class BaseActivity extends FinalActivity {
public Context context; //运行上下文 @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startAD();
} private Handler handler = new Handler();
private long time = * * ; //设置限时时间:5分钟 @Override
public boolean dispatchTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
handler.removeCallbacks(runnable);
break;
case MotionEvent.ACTION_UP:
startAD();
break;
}
return super.dispatchTouchEvent(event);
} private Runnable runnable = new Runnable() {
@Override
public void run() {
//超时要执行的内容(自定义),此片弹窗提示,并跳转页面
new ShowDialog(context, R.style.dialog, "当前登录已失效,请重新登录!", new ShowDialog.OnCloseListener() {
@Override
public void onClick(Dialog dialog, boolean confirm) {
Intent intent=new Intent(context, LoginActivity.class);
startActivity(intent);
finish();
}
}).setTitle("温馨提示").show();
}
}; public void startAD() {
handler.removeCallbacks(runnable);
handler.postDelayed(runnable, time);
} @Override
protected void onDestroy() {
super.onDestroy();
}
//endregion
}
第二步:在主操作的Activity中extends BaseActivity
public class MenuActivity extends BaseActivity {
}
第三步:在MenuActivity的onCreate方法中,给BaseActivity 的context属性赋值
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_menu_main);
context=MenuActivity.this;
}
完毕收工~~~~~
Andriod一段时间未操作页面,系统自动登出的更多相关文章
- web页面长时间未操作自动退出登录
var lastTime = new Date().getTime(); var currentTime = new Date().getTime(); * * ; //设置超时时间: 10分 $(f ...
- jsp+js完成用户一定时间未操作就跳到登录页面
<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" ...
- JavaScript长时间未操作自动退出登录
主要是通过mouseover 来监听有没有进行当前页面操作,通过未操作时间和设定退出的时间做比较,从而退出登录. var oldTime = new Date().getTime(); var new ...
- iOS开发笔记--如何实现程序长时间未操作退出
我们使用金融软件经常会发现手机锁屏或者长时间未操作就会退出程序或者需要重新输入密码等情况.下面让我们看一下如何实现这种功能.我们知道iOS有一个事件循环机制,也就是大家所说的runloop.我们在对程 ...
- ssh一段时间无操作后自动断开连接(假死)问题
平时使用ssh远程服务器的时候(注:远程虚拟机一般不会有这个问题),一段时间没有操作,ssh连接就会处于假死状态,以至于需要重新进行ssh连接,不管你用的什么远程工具都会出现这个问题,那么通过心跳检测 ...
- ECSHOP后台登陆后一段时间不操作就超时的解决方法
ECSHOP后台登陆后一段时间不操作就超时的解决方法 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2012-05-27 客户生意比较好,因此比较忙,常常不在电脑前 ...
- 解决linux一段时间不操作失去连接的问题
解决mac下ssh空闲一段时间自动断开的问题 http://www.haorooms.com/post/mac_iterm2_ssh 问题现象 用 ssh 命令连接服务器之后,如果一段时间不操作,再次 ...
- mysql5.6运行一段时间之后网站页面出现乱码解决办法
mysql5.6运行一段时间之后网站页面出现乱码,怎么都打不开,经过排查之后,知道是数据库默认字符集出问题了,在此分享给大家经验. 在mysql5.6配置文件:my.ini 找到: 添加如下内容: [ ...
- secureCRT无操作自动登出时间修改(亲测可用)
转自:http://blog.sina.com.cn/s/blog_6bcf42010102vlt9.html secureCRT连接机器经常会因为一段时间无操作就退出了,提示timed out wa ...
随机推荐
- 一步步构建.NET Core Web应用程序---基本项目结构
前言 随着.NET Core日益成熟, 我作为C#&.NET体系中的一份子也加入了.NET Core 这一体系中,随着不断学习, 接触到的各种框架日益庞杂,接下来我会由一个新手的角度把整个基于 ...
- SPSS学习笔记参数检验—单样本t检验
单样本t检验 目的:利用来自总体的样本数据,推断该总体的均值是否与指定的检验值存在差异. 适用条件:样本来自的总体应服从或者近似服从正态分布. 注:当样本量n比较大时:由中心极限定理得知,即使原数据不 ...
- 认识Airflow的DAG
前文Airflow的第一个DAG已经跑起来了我们的第一个任务. 本文就来丰富这个任务. 回顾我们的任务内容 我们定义了DAG的名称为Hello-World, 这个叫dag_id, 补充说明descri ...
- html实现打印预览效果
前面说到利用lodop插件进行打印设置,那个应用于打印快递面单,或者跟快递面单相似场景的情况. 今天的利用html快速打印出A4纸大小的场景,例如:合同.静态文本等. 效果如下: 方式一 1.设置di ...
- 阿里云服务器ecs配置之安装redis服务
一.介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括st ...
- 如何提高scroll事件的性能
1. chrome devtool 是诊断页面滚动性能的有效工具 2. 提升滚动时性能,就是要达到fps高且稳. 3. 具体可以从以下方面着手 使用web worker分离无页面渲染无关的逻辑计算 触 ...
- MongoDB的查询索引
目录 为什么要建立索引? 索引的分类有哪些? _id索引 单键索引 多键索引 复合索引 过期索引 hello,今天是万圣节
- Java基础学习笔记(一) - 基础语法
1.Java程序开发过程 编译: 是指将我们编写的Java源文件翻译成JVM认识的class文件,javac编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功. 运行: ...
- cat命令显示文件指定行
cat filename | tail -n 100 显示文件最后100行 cat filename | head -n 100 显示文件前面100行 cat filename | tail -n + ...
- 并发编程的模型分类(转载于https://link.zhihu.com/?target=http%3A//www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/)强烈推荐!
在并发编程需要处理的两个关键问题是:线程之间如何通信 和 线程之间如何同步. 通信 通信 是指线程之间以何种机制来交换信息.在命令式编程中,线程之间的通信机制有两种:共享内存 和 消息传递. 在共享内 ...