ксамарин.android-OnKeyLongPress не срабатывает


Я хочу использовать OnKeyLongPress на кнопках громкости, чтобы переопределить регулятор громкости системы.

Я пытаюсь использовать onkeylongpress event listener, но это не работает.

Вот мой код:

public override bool OnKeyLongPress(Keycode keyCode, KeyEvent e)
{
    if (keyCode == Keycode.VolumeDown)
    {

        return true;
    }

    if (keyCode == Keycode.VolumeUp )
    {

        return true;
    }


    return base.OnKeyLongPress(keyCode, e);
}
1 2

1 ответ:

Вы почти там. Вам нужно обнаружить то же самое ключевое событие в обработчике onKeyPress и начать отслеживать его, чтобы долгое нажатие могло работать. Вот код, который вам нужен:

public override bool OnKeyDown(Keycode keyCode, KeyEvent e)
{
    if (keyCode == Keycode.VolumeDown)
    {
        return true;
    }
    if (keyCode == Keycode.VolumeUp )
    {
        return true;
    }
    return base.OnKeyDown(keyCode, e);
}