2011-09-21 8 views
5

나는 다음과 같은 코드를 사용하여 볼륨에 긴 키를 눌러 아래로 반응하는 내 애플 리케이션을 얻으려고이 작동하지 않는 볼륨 onKeyLongPress()를 잡으려고 노력 볼륨 낮추기 이벤트는 onKeyPress()이고, onKeyLongPress()은 결코 호출되지 않습니다. 저의 의도는 볼륨을 낮추고 "짧은"프레스를 홀로 남겨두고 내 앱이 볼륨 길게 누르는 것과 다르게 반응하도록하는 것입니다.
아무도 내가 누락 된 부분을 지적 할 수 있습니까?

답변

12

거의 다 왔어. onKeyPress 핸들러에서 동일한 키 이벤트를 감지하고 길게 누를 수 있도록 추적을 시작해야합니다. 다음은 필요한 코드입니다.

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { 
     event.startTracking(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+0

이 키 이벤트를 Android 볼륨 관리자에서 계속 진행하고 오디오를 변경하는 방법에 대해 알고 싶습니다. – Radu

+1

@ Rad : 테스트되지는 않았지만 : "return true;" 긴 언론 콜백에서? 전파를 방지해야합니다. 그러나 다시 한번, 이것이 실제로 효과가 있다는 것을 확신하지 못합니다. –

+0

@ BenjaminPiette 네 말이 맞아. – Lukas1