音量调高长按+新活动



in 活动 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 中终止对先前长按的检测

在活动 B 中。

@Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
     // my logic when key is pressed in Activity b
 }

最新更新