2016-11-08 115 views
1

我正在开发具有计时器的三星Gear S2(网络)应用程序,该计时器在时间结束时发生振动。我需要做什么,即使它处于后台模式,我的应用程序也可能会振动?Tizen背景振动

回答

0

一般来说,除非您使用Alarm API或Notification,否则背景振动(从屏幕关闭状态)不能直接用于Web应用程序。

但定时背景振动可以容易地欺骗出使用Power APIweb workers .I正在共享一个示例代码:

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"/> 

启用后台支持后,应用程序会在应用网络工作人员时尽量减少响应。使用getCurrentApplication()。hide()而不是getCurrentApplication()。返回键事件的exit()将为您执行任务。

检查Vibration Guide不同类型的振动。

+1

谢谢!如果它最小化,我怎样才能使用它来打开我的应用程序(在最后一个窗口)? – SpyceR