在Android的客户端模拟一个类似于session超时的机制,在网上搜了好几个实现,都不怎么实用(也可能是本人是个新手,没有用对),最终不得不自己做了一个方案。
首先,创建一个TimeOutService 的服务,在 这个服务中定义一个常量,代表多长时间后退出,然后定义一个定时任务,轮询递减这个常量值
public class TimeOutService extends Service {
//时间耗损
private static Integer DEFAULT_VALUE = 30;
private static Integer DEFAULT_TIME_OUT = DEFAULT_VALUE;
//重置时间耗损值
public synchronized static void resetTimeOut(){
DEFAULT_TIME_OUT = DEFAULT_VALUE;
}
@Override
public void onCreate() {
super.onCreate();
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
if(DEFAULT_TIME_OUT > 0){
DEFAULT_T