jwb*_*ley 5 android overriding volume back android-audiomanager
使用下面的代码我已停止使用音量按钮,除非我正在播放音频(否则会令人烦恼地改变铃声音量),但"后退"按钮不起作用.
按"后退"应该到我的手机桌面(或退出我的应用程序,就像你期望的那样),但它没有做任何事情.如果我打开菜单,"返回"将关闭菜单,但我不能离开应用程序.
我已将代码复制到我的应用程序中的其他活动,如果我在我的应用程序中打开另一个活动,因为"后退"按钮不起作用,我无法返回主屏幕:)
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//Suppress the use of the volume keys unless we are currently listening to the stream
if(keyCode==KeyEvent.KEYCODE_VOLUME_UP) {
if(StreamService.INT_PLAY_STATE==0){
return true;
}else{
return false;
}
}
if(keyCode==KeyEvent.KEYCODE_VOLUME_DOWN) {
if(StreamService.INT_PLAY_STATE==0){
return true;
}else{
return false;
}
}
return false;
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
小智 5
没有测试过,但我认为你需要在你调用super.onKeyDown的地方加入一个else,即:
if(keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
code
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
more code
} else {
super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
否则,您将捕获所有密钥代码并在检查卷代码后返回false.
使音量键始终控制媒体音量的更简单,更健壮的方法是将此行插入到您的活动中onCreate():
setVolumeControlStream(AudioManager.STREAM_MUSIC);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3060 次 |
| 最近记录: |