0

I am trying to read Events from a Parcel. Works for KeyEvents, but for MotionEvents it is giving me an Exception. I dumped the data in the Parcel and looked at the Android Source in Input.cpp, but I still don't understand what's going wrong. Any Ideas?

    try {
        Parcel motionEventParcel = Parcel.obtain();
        MotionEvent motionEvent = MotionEvent.obtain(millis, millis, MotionEvent.ACTION_DOWN, 100.0f, 100.0f, 0);
        motionEvent.writeToParcel(motionEventParcel, 0);
        MotionEvent motionEvent2 = MotionEvent.CREATOR.createFromParcel(motionEventParcel);
        Log.i("test", "motion event passing succeeded");
    }
    catch (Throwable e) {
        Log.e("test", "motion event passing failed: " + e.getMessage());
    }

    try {
        Parcel keyEventParcel = Parcel.obtain();
        KeyEvent keyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_A);
        keyEvent.writeToParcel(keyEventParcel, 0);
        KeyEvent keyEvent2 = KeyEvent.CREATOR.createFromParcel(keyEventParcel);
        Log.i("test", "key event passing succeeded");
    }
    catch (Throwable e) {
        Log.e("test", "key event passing failed: " + e.getMessage());
    }
kahlk
  • 156
  • 1
  • 6

0 Answers0