2013-12-15 173 views
1

我正在開發Android上的晃動檢測,我無法處理一個問題 - 旋轉手機。我的算法可以正確檢測抖動,但它也會作出反應。檢測手機抖動

它看起來像這樣:

//for every second 
if(!alarmed) { 
    if(Math.abs(oldX - acceleration.x) > threshold || 
    Math.abs(oldY - acceleration.y) > threshold || 
    Math.abs(oldZ - acceleration.z) > threshold) { 
     // shake detected 
    } 
} 

oldX = acceleration.x; 
oldY = acceleration.y; 
oldZ = acceleration.z; 

這是JavaScript的,因爲我寫的科爾多瓦。

任何幫助,將不勝感激。

回答

2

幾個小時後,我想出瞭解決方案:

而不是比較所有三個加速度方面與門檻,我們應該比較(修改)閾值的所有三個總和。它防止反應轉動。