2016-03-22 16 views
1

Cordova'nın Accelerometer Eklentisini denedim ve şu ana kadar Android'de düzeltemediğim bir sorunla karşılaştım. motionID, watchAcceleration'u durdurmak için clearWatch yönteminde kullanılır.Cordova Accelerometer Eklenti Watch Acceleration Issue

diğer bilgiler burada bulunabilir Sonra clearWatch() işlevini kullanarak cordova-plugin-device-motion docs

var motionID = null; 


function startAccelerometer() { 
var refreshRate = { 
    frequency: 50 
}; 
motionID = navigator.accelerometer.watchAcceleration(
    gotMotion, onMotionError, refreshRate); 
} 

startAccelerometer() ise clearWatch motionID temizlemek etmediğini olmak Ben

function stopAcclererometer() { 

navigator.accelerometer.clearWatch(motionID); 
$("#acclData").empty(); 
} 

sorun diyoruz bunu görünüyor durdurmak için Bir kereden fazla çağrılır veya yeni bir motionID ilk temizleme yapılmadan oluşturulursa.

Her türlü yardım büyük beğeni topluyor.

cevap

0

Oldukça basit bir çözümdü ancak sorunu çözmenin daha temiz bir yolu olup olmadığını merak ediyorum. Karışıma basit bir sayım ekleyerek ve bir koşula erişildikten sonra çıkmayı başardım, yani Başlat'a basıldı ve ardından Durdurulduğunda sayımı temizledim.

if (count > 0) { 
     return; 
    } else if (count === 0) { 
     startAccelerometer(); 
    } 
});