boss 叫我写一个sdk 然后里面得实现回调 还给了我个demo 说回调机制和这个demo 一样 大概就是从A客户端发出一个数据 然后我这边接受 接受和执行一个事件 然后再回调给C
public class DemoActivity extends Activity {
private InputInterceptor input;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
input = new InputInterceptor(this, mListener);
}
@Override
protected void onResume() {
super.onResume();
input.resume();
}
@Override
protected void onPause() {
super.onPause();
input.pause();
}
@Override
protected void onDestroy() {
super.onDestroy();
input.finish();
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (input.dispatchKeyEvent(event))
return true;
return super.dispatchKeyEvent(event);
}
@Override
public boolean dispatchGenericMotionEvent(MotionEvent ev) {
if (input.dispatchGenericMotionEvent(ev))
return true;
return super.dispatchGenericMotionEvent(ev);
}
private IInputEventListener mListener = new IInputEventListener() {
@Override
public boolean onSDKKeyEvent(KeyEvent event) {
int keycode = event.getKeyCode();
int action = event.getAction();
switch (keycode) {
case KeyEvent.KEYCODE_BUTTON_A:
// TODO
break;
case KeyEvent.KEYCODE_BUTTON_B:
// TODO
break;
case KeyEvent.KEYCODE_DPAD_UP:
// TODO
break;
}
return true;
}
@Override
public boolean onSDKGenericMotionEvent(MotionEvent ev) {
// joystick 1
float x = ev.getAxisValue(MotionEvent.AXIS_X);
float y = ev.getAxisValue(MotionEvent.AXIS_Y);
// joystick 2
float z = ev.getAxisValue(MotionEvent.AXIS_Z);
float rz = ev.getAxisValue(MotionEvent.AXIS_RZ);
return true;
}
@Override
public boolean onSDKTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onSDKStateEvent(StateEvent ev) {
// TODO Auto-generated method stub
return false;
}
};
}
InputInterceptor是用来截取客户端发送过来的数据的 然后要去实现IInputEventListener 这个接口 然后IInputEventListener接口里面的四个内部类应该就是 回调方法吧
但是这个回调是怎么实现的啊 这好像也没主动的去回调给C啊