public class RemoteDesktop extends Activity implements
OnGestureListener {
... ...
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gestureScanner = new GestureDetector(this);
gestureScanner.setIsLongpressEnabled(true); // 手势必需
gestureScanner
.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener()
{
public boolean onDoubleTap(MotionEvent e) {
// 双击时产生一次
Mouse mouse = new Mouse();
mouse.setScreenWidth(screenWidth);
mouse.setScreenHeight(screenHeight);
mouse.setType(0x10);
mouse.setType2(4);
mouse.setX(x);
mouse.setY(y);
try {
objOutput.writeObject(mouse);
objOutput.reset();
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
public boolean onDoubleTapEvent(MotionEvent e) {
// 双击时产生两次
return true;
}
public boolean onSingleTapConfirmed(MotionEvent e) {
// 短快的点击算一次单击
Mouse mouse = new Mouse();
mouse.setScreenWidth(screenWidth);
mouse.setScreenHeight(screenHeight);
mouse.setType(0x10);
mouse.setType2(3);
mouse.setX(x);
mouse.setY(y);
try {
objOutput.writeObject(mouse);
objOutput.reset();
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
});
iv.setOnTouchListener(imageViewTouchListener);
... ...
}
... ...
private OnTouchListener imageViewTouchListener = new
OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
x = (int) event.getX();
y = (int) event.getY();
return gestureScanner.onTouchEvent(event);
}
... ...
};