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

Posted

技术标签:

【中文标题】Worklight 6.2 混合应用程序中的空闲期【英文标题】:Idle period in Worklight 6.2 Hybrid app 【发布时间】:2014-11-13 14:05:38 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

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

你可以做的是:

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

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

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

我认为在应用程序中计算“一般”空闲时间并不好,因为您需要考虑会话超时和您将设置的任何“活动”超时,这将必须低于会话超时。它只是需要处理更多的场景......

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

【讨论】:

【参考方案2】:

您也可以不用由鼠标和键听众附着到文档或身体ping服务器,与jquery。

像这样的代码:(未测试) P>

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

这可能更好的UX(取决于你的具体需要)另一种方法是捕捉屏幕关断/导通本地设备上。

【讨论】:

以上是关于Worklight 6.2 混合应用程序中的空闲期的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Worklight 6.2 中链接来自移动客户端的适配器调用?

Worklight 6.2:成功发送标签推送通知,但在 android 设备上未收到

IBM Worklight 6.2:JMX 配置错误。无法获取 MBean

IBM Worklight 6.2 Development Server 自动停止

Worklight 6.2 应用程序中的 /apps/services/loguploader URL 是啥?

无法在 IBM Worklight 的 windows phone 8 中运行混合应用程序