RT,我们开发的一个小游戏,在别的android上一切都正常的。但是当在HTC P715a 这台机器上运行我们程序的时候,按下旁边的音量调节能显示出声音栏但是按下 + - 都没有反应,但是用手指在屏幕上触摸滑动的话   却可以调节音量。当回到主界面或者其他程序运行中时  却一切都是正常的,求解

解决方案 »

  1.   

    如果有的话,可以在onKeyDown里面加上
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP)
    {
    AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    int volume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
    {
    volume--;
    }
    else
    {
    volume++;
    }

    mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, AudioManager.FLAG_SHOW_UI);
    }
      

  2.   

    这个很难判断出来,机器本身的程序上volume up/down是工作的话,那只能怀疑你的程序有什么问题,
    或者是HTC修改了一些android的源代码,刚好你用到的一些activity或者是window的属性,不响应volume up/down.你可以先看看log分析一下。
      

  3.   


    我找到了我们的函数是这样处理的:
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if( keyCode == KeyEvent.KEYCODE_CAMERA 
    || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN 
    || keyCode == KeyEvent.KEYCODE_VOLUME_UP
    )
    return false;

             ......
             }