1***@qq.com
1***@qq.com
  • 发布:2018-09-21 11:17
  • 更新:2019-01-19 14:08
  • 阅读:1605

使用wap2app转化成app之后,锁屏之后程序停止运行

分类:wap2app

我开发的网站,使用wap2app转化成app之后,锁屏之后程序停止运行。
我的网站中使用js设置了定时器,当我在本地用手机连接HBuilder调试的时候,锁屏之后定时器会正常运行。但是发布到流应用以及生成apk之后,程序无法定时发出震动和声音了,请问如何解决?
js定时器的逻辑是定时让手机震动和发出声音提醒用户,代码如下:
//让手机震动,用于提醒用户回答问题
function phoneShake(){
var supportsVibrate = "vibrate" in navigator;
if(supportsVibrate){
navigator.vibrate = navigator.vibrate //震动
|| navigator.webkitVibrate
|| navigator.mozVibrate
|| navigator.msVibrate;
if(navigator.vibrate){
navigator.vibrate([500, 200, 500, 200, 500]); //ms,这种设置会让手机震动三次
}
}
}

function addSoundHtml(){
var borswer = window.navigator.userAgent.toLowerCase();
if(borswer.indexOf( "ie" ) >= 0 ){
//IE内核浏览器
var strEmbed = '<embed name="embedPlay" src="../data/ding.wav" autostart="true" hidden="true" loop="false"></embed>';
if ( $( "body" ).find( "embed" ).length <= 0 )
$( "body" ).append( strEmbed );
}else{
//非IE内核浏览器
var strAudio = "<audio id='audioPlay' src='../data/ding.wav' hidden='true'>";
if ( $( "body" ).find( "audio" ).length <= 0 )
$( "body" ).append( strAudio );
}
}

//让手机发出声音提醒
function playSound(){
var borswer = window.navigator.userAgent.toLowerCase();
if(borswer.indexOf( "ie" ) >= 0 ){
var embed = document.embedPlay;
//浏览器不支持 audio,则使用 embed 播放
embed.volume = 100;
//embed.play();这个不需要
}else{
var audio = document.getElementById( "audioPlay" );
//浏览器支持 audio
audio.play();
}
}

2018-09-21 11:17 负责人:无 分享
已邀请:
kerwinyc

kerwinyc

我也遇到这个问题,不知道怎么解决。

该问题目前已经被锁定, 无法添加新回复