【发布时间】:2013-12-31 12:52:33
【问题描述】:
在活动 A 中
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
if (action == KeyEvent.ACTION_UP&&event.isLongPress()==false) {
//navigate up
}
if(event.isLongPress()==true)
//start new activity B
startActivity(new Intent("com.example.fittle.FISH"));
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
if (action == KeyEvent.ACTION_DOWN) {
//navigate down
}
return true;
default:
return super.dispatchKeyEvent(event);
}
}
在活动 B 中
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
if (action == KeyEvent.ACTION_UP&&event.isLongPress()==false) {
//navigate up
}
if(event.isLongPress()==true)
//play sound
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
if (action == KeyEvent.ACTION_DOWN) {
//navigate down
}
return true;
if(event.isLongPress()==true)
//go to activity A
default:
return super.dispatchKeyEvent(event);
}
}
我有两个活动 A 和 B。 在活动 A> 中,我使用音量增大/减小键浏览各个按钮,然后长按向上按钮开始活动 B。
当活动 B 开始时,音量会自动上升。
我知道它正在发生,因为在新活动 B 中检测到长按,然后将其视为短按以提高音量。
有没有办法在新活动B中杀掉之前长按的检测
【问题讨论】:
-
发布一些关于你真正在做什么的代码。
-
@RohanKandwal 更新帖子。
标签: android