xyTimeout是一个用原生代码编写的计时器功能,实现了安卓和IOS两端的定时器操作(类似js中的setTimeout功能)。 由于IOS后台进程运行机制,一般IOS进入后台后半分钟左右会被kill掉,故本插件也提供了borrowTime方法,调用此方法可以向IOS申请到额外的执行时间,让app在进入后台后能够存活稍微久一点。
开启定时器功能
start({params}, callback(ret, err))
second:
loop:
ret:
{
state: //数字类型;对应的值有:success,doThings;
}
success表示成功创建定时器,doThings表示定时器的轮询回调(一般在doThings中编写自己要处理的逻辑代码)
var xyTimeout = api.require('xyTimeout');
xyTimeout.start({
second:3, //间隔时间,单位(秒)
loop:true //是否开启循环执行,默认true
},function(ret,err){
//console.log("调试:" + JSON.stringify(ret));
//console.log("调试:" + JSON.stringify(err));
if(ret)
{
if(ret.state=="success")
{
console.log("定时器开启成功");
}
else if(ret.state=="doThings")
{
console.log("做点什么事吧,编写您自己的逻辑代码");
}
}
});
Android/IOS系统
可提供的1.0.0及更高版本
获取客户端当前websocket的连接状态
stop({params})
var xyTimeout = api.require('xyTimeout');
xyTimeout.stop();
Android/IOS系统
可提供的1.0.0及更高版本
IOS端向系统申请额外的执行时间(让app进入后台后能够存活稍微久一点,一般最多十分钟左右),建议在App进入后台时调用此方法
borrowTime({params});
second:
ret:
{
state: //数字类型;对应的值有:success;
}
success表示申请成功
var xyTimeout = api.require('xyTimeout');
xyTimeout.borrowTime({
second:300
},function(ret,err){
if(ret)
{
if(ret.state=="success")
{
console.log"成功申请到进入后台后的额外执行时间");
}
}
});
IOS系统
可提供的1.0.0及更高版本
取消向IOS申请到的额外执行时间请求
clearBorrowTime();
var xyTimeout = api.require('xyTimeout');
xyTimeout.clearBorrowTime();
IOS系统
可提供的1.0.0及更高版本