Worklight 6.2混合应用程序中的空闲时段

时间:2014-11-13 14:05:38

标签: android ibm-mobilefirst

如何为Worklight 6.2 Hybrid应用程序配置应用程序空闲设置? 我们正在使用JQuery为Android 4.1.x开发混合应用程序,并希望在一段时间不活动后将用户返回到登录页面... 我们应该在框架中使用构建的功能吗?

2 个答案:

答案 0 :(得分:0)

没有内置的空闲功能。您需要实现自定义的。

实现此目标的一种方法是将自定义实现基于Worklight Server会话超时计数。

会话超时在您的-project \ server \ conf \ worklight.properties中定义。

你能做的是:

  1. 成功WL.Client.connect()后,您将开始计算与会话超时设置相同的金额

  2. 对于每个服务器操作(适配器请求...),重置计数

  3. 如果计数到期(或者说达到,比如说,之前5-10秒),请从领域注销并显示登录表单

  4. 我不认为计算"将军"应用程序中的空闲时间,因为您需要同时考虑会话超时和任何"活动"您将设置的超时,必须低于会话超时。它只是需要照顾的场景......

    编辑:实际上我有另一个想法 - 在Worklight中使用heartbeat的API来保持与服务器的连接处于活动状态,并计算您希望应用程序的任何活动超时...如果它到期,从领域注销并显示登录表单。

答案 1 :(得分:0)

您也可以通过将鼠标和键侦听器附加到文档或正文来使用Jquery ping服务器。

类似这样的代码:(未经测试)

var idleTime = 30*1000; //30 seconds
var idleTimer = null;

$(document.body).bind('mousemove,keydown,click',function(){
    clearTimeout(idleTimer);
    idleTimer = setTimeout(isIdle,idleTime);
});

function isIdle(){
    clearTimeout(idleTimer);
    //logout and go to login form
}

另一个可能是更好的用户体验(取决于您的特定需求)的选项是在设备上本地捕获屏幕关闭/开启。