Android NativeActivity - перехват ввода на уровне Java - PullRequest
0 голосов
/ 19 января 2012

Есть ли способ перехватить ввод в NativeActivity перед его отправкой в ​​AInputQueue в собственном коде?Причина, по которой мне нужно перехватывать ввод в Java, заключается в поддержке событий геймпада / джойстика, которые я не могу записать, используя любую из функций android/input.h, т.е.MotionEvent.getAxisValue(MotionEvent.AXIS_RZ).

Это следующее не работает (мой манифест правильно указывает на мой производный класс NativeActivity):

public class CustomNativeActivity extends NativeActivity
{
    private View.OnTouchListener touchListener = new View.OnTouchListener() {
        public boolean onTouch (View v, MotionEvent event)
        {
            // This is never called!
            System.out.println("onTouch");
            return false;
        }
    };

    public void setContentView(View view)
    {
        // This method is called, but registering a touch listener does nothing!
        view.setOnTouchListener(touchListener);
        super.setContentView(view);
    }

    public boolean dispatchTouchEvent(MotionEvent ev)
    {
        // This is never called either!
        System.out.println("dispatchTouchEvent!");
        return super.dispatchTouchEvent(ev);
    }
}
...