5
내 앱의 간단한 Shake 기능을 개발 중이며 이상한 문제에 직면했습니다. Honor5x에서 테스트 할 때 매력처럼 작동하지만 삼성 S5에서 수행하려고 할 때 너무 민감합니다. 가속도계가 다른 장치에서 다르게 작동하는 것이 가능합니까? 그렇다면 장치를 변경하는 가능성은 장치/가속도계 정확도에 달려 있습니까? - 그 샘플의 3/4 다음 가속하는 경우 그들은 일정 기간 내에서 샘플을 수집하고, seismicShake 이벤트는 다양한 장치에서 다르게 작동합니다. Shake Event 사용자 정의 구현
당신은 흔들림 감지 광장 라이브러리를 시도 할 수 있습니다
gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];
gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1];
float accX = event.values[0] - gravity[0];
float accY = event.values[1] - gravity[1];
float maxSpeed = Math.max(accX, accY);
if (maxSpeed > SHAKE_THRESHOLD)
{
if(shakesInRow == 0){
shakesInRow++;
shakeTime = System.currentTimeMillis();
}else{
if((System.currentTimeMillis() - shakeTime) < SHAKE_TIME_DETECTOR){
shakesInRow++;
}else{
shakesInRow = 0;
shakeTime = 0;
return;
}
if(shakesInRow>= SHAKE_IN_ROW) {
shakesInRow= 0;
runMainActivity();
}
}
}
감사합니다,이 라이브러리는 꽤 좋은 내 경우 작동합니다 :) –