Tizen背景振动



我正在为三星Gear S2 (web)开发一个计时器,当时间结束时振动。我需要做些什么才能使我的应用程序即使在后台模式下也能振动?

一般来说,背景振动(从屏幕关闭状态)不能直接用于web应用程序,除非你正在使用警报API或通知。

但是,使用Power API和web worker可以很容易地设计出定时背景振动。我正在分享一个示例代码:

main.js

   window.onload = function() {
       document.addEventListener('tizenhwkey', function(e) {
           if (e.keyName === "back") {
               try {
                   tizen.application.getCurrentApplication().hide();
               }catch (ignore) {}
           }
        });
        var mainPage = document.querySelector('#main');
        mainPage.addEventListener("click", function() {
        var contentText = document.querySelector('#content-text');

        var worker;                             //web worker
        worker = new Worker("js/worker.js");    //load from directory
        worker.onmessage = function(event) {    //receive data from worker
            tizen.power.turnScreenOn();        // forcefully turn the screen on
            setTimeout(function (){
                contentText.innerHTML = event.data;  // time counter
                navigator.vibrate(1000);
            }, 500);                          // just being safe (vibrate after screen is on)
        };
    });
};

worker.js

var i=0;
function timedCount() {
    i=i+1;
    postMessage(i);                     //send data   
    setTimeout("timedCount()",5000);    // set vibration interval (or use specific time)
}
timedCount();

在config.xml

中添加这些行
<tizen:privilege name="http://tizen.org/privilege/power"/>
<tizen:setting background-support="enable" encryption="disable" hwkey-event="enable"/>

一旦启用后台支持,当你应用web worker时,应用程序将在最小化时响应。使用getCurrentApplication().hide()来代替getCurrentApplication().exit()来处理回键事件将会为你完成任务。

检查不同类型的振动

相关内容

  • 没有找到相关文章

最新更新