Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法检测长按_Java_Android - Fatal编程技术网

Java 无法检测长按

Java 无法检测长按,java,android,Java,Android,我正在使用音量上/下按钮在活动中导航。这很好,但我不能使用音量下降按钮来启动下一个活动。 此外,体积也同时增加/减少。 这是密码 @Override public boolean onKeyUp(int keyCode, KeyEvent event) { switch(keyCode){ case KeyEvent.KEYCODE_VOLUME_DOWN: event.startTracking(); //navigation re

我正在使用音量上/下按钮在活动中导航。这很好,但我不能使用音量下降按钮来启动下一个活动。 此外,体积也同时增加/减少。 这是密码

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
 switch(keyCode){
     case KeyEvent.KEYCODE_VOLUME_DOWN:
         event.startTracking();
         //navigation


     return true;
     case KeyEvent.KEYCODE_VOLUME_UP:
         //navigation

     return true;
   }


   return super.onKeyUp(keyCode, event);
}

@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
        startActivity(new Intent("com.example.fittle.FISH"));
        return true;
    }
    return super.onKeyLongPress(keyCode, event);
}

尝试一下这种稍加修改的方法:

@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
     super.onKeyLongPress(keyCode, event);
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
{
    startActivity(new Intent("com.example.fittle.FISH"));
    return true;
}
return false;
}
您使用的方式错误,请尝试更改:

startActivity(new Intent("com.example.fittle.FISH"));


如果您是从活动中调用它,则上下文可以是这样。

您的答案是@DanielBo,我认为代码不会被调用。否则它应该可以工作。@GopalRao据我所知,它通常用于向不同的应用程序发送命令。它要求您在Manifast中添加适当的过滤器,这不是问题所在。我已经改变了意图,但仍然不起作用。
startActivity(new Intent(context, FISH.class));