【问题标题】:Volume UP long press + new activity音量UP长按+新活动
【发布时间】: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


【解决方案1】:

在活动 B 中。

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

【讨论】:

  • 试过这个。问题是我还想通过使用音量增大/减小在活动 B 中导航。所以我在 onKeyDown 方法中有导航代码,它会自动运行此方法中的代码。
猜你喜欢
  • 2014-01-17
  • 2016-07-13
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多