停止 navigator.notification.beep(100);
Stop navigator.notification.beep(100);
我有一个带有哔声通知的 cordova 应用程序:
navigator.notification.beep(100);
它运行良好,但我希望用户能够停止设备发出哔哔声。
如何删除通知或停止设备发出哔哔声?
你试过了吗?当用户在您的应用程序中时,您可以使用 setInterval 并每 5 秒播放一次蜂鸣声:
var stop = false;
...
...
var inter = setInterval(function(){
if(!stop)navigator.notification.beep(1);
else clearInterval(inter);
},5000);
...
function stopBeepNoise(){ stop = true; }
间隔的延迟应与嘟嘟声的长度相对应。对于 android,蜂鸣声的长度大约需要 5 秒,因为
我在这个 plugin 的源代码中看到的是必须经过 5 秒(长超时),以便在程序循环时超时结束 and/or noise的长度达到所以isPlaying returns false 所以你不能绝对确定 5 秒后蜂鸣声结束可能少于 5 秒:
for (long i = 0; i < count; ++i) {
notification.play();
long timeout = 5000;
while (notification.isPlaying() && (timeout > 0)) {
timeout = timeout - 100;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
}
}
当然 ios 它看起来不同,但在这里我建议在 ios/winphone/-device.
上测试实际情况下调整后的延迟
stopBeepNoise 可以通过触摸按钮来调用,从而停止间隔。
我有一个带有哔声通知的 cordova 应用程序:
navigator.notification.beep(100);
它运行良好,但我希望用户能够停止设备发出哔哔声。
如何删除通知或停止设备发出哔哔声?
你试过了吗?当用户在您的应用程序中时,您可以使用 setInterval 并每 5 秒播放一次蜂鸣声:
var stop = false;
...
...
var inter = setInterval(function(){
if(!stop)navigator.notification.beep(1);
else clearInterval(inter);
},5000);
...
function stopBeepNoise(){ stop = true; }
间隔的延迟应与嘟嘟声的长度相对应。对于 android,蜂鸣声的长度大约需要 5 秒,因为 我在这个 plugin 的源代码中看到的是必须经过 5 秒(长超时),以便在程序循环时超时结束 and/or noise的长度达到所以isPlaying returns false 所以你不能绝对确定 5 秒后蜂鸣声结束可能少于 5 秒:
for (long i = 0; i < count; ++i) {
notification.play();
long timeout = 5000;
while (notification.isPlaying() && (timeout > 0)) {
timeout = timeout - 100;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
}
}
当然 ios 它看起来不同,但在这里我建议在 ios/winphone/-device.
上测试实际情况下调整后的延迟stopBeepNoise 可以通过触摸按钮来调用,从而停止间隔。