Use proxy object implments AIDL interface
Class studyManager = Class.forName("StudyManager");
Class iStudyCallbackClient = Class.forName("IStudyCallbackClient");
Method setTouchCallback = studyManager.getDeclaredMethod("setTouchCallback", iStudyCallbackClient);
Proxy proxy = (Proxy) Proxy.newProxyInstance(iStudyCallbackClient.getClassLoader(),
new Class[] { iStudyCallbackClient }, new IStudyCallbackClientImpl());
setTouchCallback.invoke(studyManager.newInstance(), proxy);
class IStudyCallbackClientImpl implements InvocationHandler {
@Override
public Object invoke(Object o, Method method, Object[] objects) throws Throwable {
Log.d(TAG, method.getName());//why here is asBinde() not sendPoint()?
return null;
}
AIDL
interface IStudyCallbackClient {
void sendPoint(int x,int y);
}
Problems:
Code runing is OK.
when invoke the callback function (IStudyCallbackClient.sendPoint(int x,int y)),
why method.getName() is asBinder?,not sendPoint()?