Android在Activity设置调节音量的代码不管用

如下代码所示,我在setContentView的参数为一个View的Activity中调用管理音量的代码不管用,而在另一个setContentView的参数为一个layout的活动中是有效的。请问这是为什么?以及怎样来解决?不胜感激。
package com.mario.load;

import com.mario.menu.MenuActivity;

import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.KeyEvent;
import game.activity.GameActivity;

public class LoadActivity extends GameActivity  implements Runnable
{
@Override
protected void onCreate(Bundle savedInstanceState) 
{
new Thread(this).start();

this.SetScreenToFull();

this.GetScreenSize();

super.onCreate(savedInstanceState);
super.setContentView(new LoadView(this));
}

@Override
public void run() 
{
LoadResource.LoadImage(this);

LoadResource.LoadMusic(this);

Intent i = new Intent(this,MenuActivity.class);
this.startActivity(i);
this.finish();
}

public boolean onKeyDown(int keyCode, KeyEvent event) 
{
if(keyCode == KeyEvent.KEYCODE_BACK)
{
this.finish();
}
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);  

switch (keyCode) {

// 音量减小

 case KeyEvent.KEYCODE_VOLUME_DOWN:

mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,    
                     AudioManager.FX_FOCUS_NAVIGATION_UP);    

 // 音量减小时应该执行的功能代码

 return true;

 

 // 音量增大

 case KeyEvent.KEYCODE_VOLUME_UP:

 mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,    
                     AudioManager.FX_FOCUS_NAVIGATION_UP); 

 // 音量增大时应该执行的功能代码

 return true;

  }
return true;
}

}

 
共2个回复

lzan13

2015-07-24 22:29

debug看下你的代码在这两种情况下 onKeyDown是否都执行了  

逄淑越

2015-07-25 19:31

确实是这样,我发现其实并没有执行,原因是View中已经重写了onKeyDown这个方法,导致其并没有执行。我已经解决了,还是谢谢您

lzan13

2015-07-27 11:04

@1959:不客气

逄淑越

2015-07-25 19:31

确实是这样,我发现其实并没有执行,原因是View中已经重写了onKeyDown这个方法,导致其并没有执行。我已经解决了,还是谢谢您。
点击此处继续提问与开发者们互动

申请试用

提交后工作人员会尽快与您联系进行功能演示
技术咨询已转移到管理后台,请先登录

即时通讯云使用者请在应用详情页面咨询
客服云使用者请进入管理员模式咨询

×

在线咨询

电话咨询

技术咨询

免费试用