What you are trying to do is perfectly possible and simple:
void simulateEventDown( View v, long x, long y )
{
MotionEvent e = MotionEvent.obtain( SystemClock.uptimeMillis(),
SystemClock.uptimeMillis(),
MotionEvent.ACTION_DOWN,
x, y, 0);
v.dispatchTouchEvent(e);
}