2016-10-03 4 views
0

ウォッチフェイス(ウェブベース)がバックグラウンドになると、時間を更新するために使用されたタイマーが一時停止されます。 これは戻ったときに遅れの影響を与えます。ユーザーに数秒間の古い時間が表示されるようにします。ウォッチフェイスがフォアグラウンドに戻ったときウォッチフェイスがフォアグラウンドになるタイミングを検出するにはどうすればよいですか?

  • が検出:

    私の理想的なソリューションは、0.1秒タイマーまたは任意にアニメーションの束を適応させるために持っているより多くの物事を台無しにしていないではないために、以下のとおりです。

  • は、非常に最初のステップは、私のウォッチフェイスが戻っフォアグラウンドに来るときを検出するために、もちろん、ですが、私は絶対に無知と私の避難所だ仕事に再びこのため

を時間と間隔を設定します本当にたくさん見つかりました。私のインターネットは本当に悪いですし、私の実際の時計でテストすることは問題なので、私はすでに証明されているものを知る必要があります。

ウォッチフェイスがフォアグラウンドに戻ったときを検出するにはどうすればよいですか?

ありがとうございます。

答えて

1

この方法で試してみてください。

\t var timer=0; 
 
\t var visible_time=0; 
 
\t var timer1 = 0; 
 
\t var PERIOD_VISIBLE = 1000; 
 
\t var PERIOD_NOT_VISIBLE = 2000; 
 
\t var hidden, visibilityChange; 
 
\t 
 
window.onload = function() { 
 
    
 
    document.addEventListener('tizenhwkey', function(e) { 
 
     if (e.keyName === "back") { 
 
      try { 
 
       tizen.application.getCurrentApplication().exit(); 
 
      } catch (ignore) {} 
 
     } 
 
    }); 
 

 
    var mainPage = document.querySelector('#main'); 
 
    
 
    // Sample code 
 
    console.log("Foreground"); 
 
\t if (typeof document.hidden !== "undefined") { 
 
\t \t hidden = "hidden"; 
 
\t \t visibilityChange = "visibilitychange"; 
 
\t } else if (typeof document.webkitHidden !== "undefined") { 
 
\t \t hidden = "webkitHidden"; 
 
\t \t visibilityChange = "webkitvisibilitychange"; 
 
\t } 
 

 
\t function handleVisibilityChange(){ 
 
\t \t if (document[hidden]){ 
 
\t \t \t console.log("Background"); 
 
\t \t \t console.log("Page was visible for : "+visible_time+" seconds"); 
 
\t \t \t visible_time = 0; 
 
\t \t \t timer = new Date().getTime(); 
 
\t \t } else { 
 
\t \t \t console.log("Foreground"); 
 
\t \t \t console.log('You were away for ' + (new Date().getTime()-timer)/1000+ ' seconds.'); 
 
\t \t } 
 

 
\t } 
 
\t document.addEventListener(visibilityChange, handleVisibilityChange, false); 
 

 
\t timer1 = setInterval(checkVisibility, (document.hidden) ? PERIOD_NOT_VISIBLE : PERIOD_VISIBLE); 
 
\t document.addEventListener("webkitvisibilitychange", visibilityChanged, false); 
 
\t function visibilityChanged() { 
 
\t \t clearInterval(timer1); 
 
\t \t timer1 = setInterval(checkVisibility, (document.hidden) ? PERIOD_NOT_VISIBLE : PERIOD_VISIBLE); 
 
\t } 
 

 
\t function checkVisibility() { 
 
\t \t /*$('#timer').empty();*/ 
 
\t \t visible_time++; 
 
\t \t /*$('#timer').append("<center>Page is visible for : "+visible_time+" seconds</center>");*/ 
 
\t } 
 
    mainPage.addEventListener("click", function() { 
 
     var contentText = document.querySelector('#content-text'); 
 
     contentText.innerHTML = (contentText.innerHTML === "Basic") ? "Tizen" : "Basic"; 
 
     
 
    }); 
 
};

感謝。

enter image description here

+0

大きな問題は、私はちょうどこれを試してみました、時計の画面がシャットダウンしたとき、それは実際に私はあなたが正確に「画面がシャットダウンする」とはどういう意味ですか – DeadlyBacon

+0

を必要とする何かである、検出されませんか?あなたの具体的なアイデアを手がけてください。 –

+0

さて、あなたがapp/watchfaceにいて、何もしていない、または何かを動かすことによって画面がシャットダウンしたとき、私はそれを検出する必要があります – DeadlyBacon

関連する問題