次の関数 ( Activity内) を使用して、音量ボタンのクリックを検出しています。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP){
if(mAudioManager != null){
int curVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
Intent intent = new Intent();
intent.setAction(VerticalSeekBar.ACTION_VOLUME_CHANGED);
intent.putExtra(VerticalSeekBar.ARGUMENT_VOLUME_VALUE,curVolume);
sendBroadcast(intent);
return true;
}
}
return super.onKeyDown(keyCode, event);
}
問題は、ボリュームバーをビューの垂直シークバーとして表す popupwindow があることです。popupwindow が表示されているとき、アクティビティの onKeyDown は、popupwindow を閉じるまで呼び出されません。
この問題を解決する方法はありますか? 音量ボタンのクリックを検出する別の方法はありますか? 助けてくれてどうもありがとう