2011-02-13 100 views

回答

1

由于您使用的是早期版本的API,因此您可以使用一种方法KeyEvent.getDownTime()。

public boolean onKey(View v, int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_CALL && event.getDownTime() > 1000){ 
    // Long call key event 
    }else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){ 
    AudioManager m = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); // changing 'this' for your context instance 
    int vol = m.getStreamVolume(AudioManager.STREAM_SYSTEM); // using your desired stream type 
    if (vol == 0){ 
     // Is the volume switched off? 
    } 
} 

当然,你必须设置为您的视图中的OnKeyListenersetOnKeyListener方法:

myView.setOnKeyListener(this); 

和执行你喜欢的类OnKeyListener接口。