안드로이드 개발 질문/답변
(글 수 45,052)
볼륨키를 누를때 onKeyDown() 에서 KEYCODE_VOLUME_DOWN/UP을 이용해서 키 이벤트는 받을수 있으나
키를 누를때, 뜨는 볼륨조절창은 제맘대로 안뜨게 할수가 없내요.
분명 return true하면, 다른넘들한테 이벤트가 전가 되지 않는다고 했는데,
볼륨조절창이 뜨는건 이보다 먼저 호출되는건가봐요.
혹시 제가 잘못알고 있으면 알려주세요.
### 질문내용: 볼륨키를 눌러도, 볼륨 조절팝업이 안뜨게 하고싶습니다. ###
2011.03.25 16:14:00
public class ~~~ extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onKeyDown(int keycode, KeyEvent event){
if(keycode == KeyEvent.KEYCODE_VOLUME_DOWN){
Toast.makeText(this, R.string.keydownnoti, Toast.LENGTH_SHORT).show();
}
return true;//super.onKeyDown(keycode, event);
}
public boolean onKeyUp(int keycode, KeyEvent event){
if(keycode == KeyEvent.KEYCODE_VOLUME_UP){
Toast.makeText(this, R.string.keyupnoti, Toast.LENGTH_SHORT).show();
}
return true;//super.onKeyUp(keycode, event);
}
}
요렇게 구현하니까 되네요. 일단 심플하게 볼륨키 업 하거나, 다운하면 토스트 뛰우는 동작을 합니당.
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onKeyDown(int keycode, KeyEvent event){
if(keycode == KeyEvent.KEYCODE_VOLUME_DOWN){
Toast.makeText(this, R.string.keydownnoti, Toast.LENGTH_SHORT).show();
}
return true;//super.onKeyDown(keycode, event);
}
public boolean onKeyUp(int keycode, KeyEvent event){
if(keycode == KeyEvent.KEYCODE_VOLUME_UP){
Toast.makeText(this, R.string.keyupnoti, Toast.LENGTH_SHORT).show();
}
return true;//super.onKeyUp(keycode, event);
}
}
요렇게 구현하니까 되네요. 일단 심플하게 볼륨키 업 하거나, 다운하면 토스트 뛰우는 동작을 합니당.



